Advertisement
Guest User

Mul128

a guest
Jul 11th, 2012
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .686P
  2.     .XMM
  3.     .model  flat
  4. _TEXT   SEGMENT
  5. public  _Mul128
  6.  
  7. _Mul128 proc
  8.  
  9.         push    ebp
  10.         push    edi
  11.         push    esi
  12.         push    ebx
  13.  
  14.         mov     edi,[esp+24]    ;; A
  15.         mov     esi,[esp+28]    ;; B
  16.         mov     ebp,[esp+20]    ;; C
  17. ;;;;
  18.         push    dword ptr [edi+12]
  19.         push    dword ptr [edi+8]
  20.         push    dword ptr [edi+4]
  21.         mov     ecx,[edi]
  22.         mov     eax,[esi]
  23.         mul     ecx
  24.         mov     [ebp],eax
  25.         mov     ebx,edx
  26.         xor     edi,edi
  27.  
  28.         mov     eax,[esi+4]
  29.         mul     ecx
  30.         add     eax,ebx
  31.         mov     [ebp+4],eax
  32.         adc     edx,0
  33.         mov     ebx,edx
  34.  
  35.         mov     eax,[esi+8]
  36.         mul     ecx
  37.         add     eax,ebx
  38.         mov     [ebp+8],eax
  39.         adc     edx,0
  40.         mov     ebx,edx
  41.  
  42.         mov     eax,[esi+12]
  43.         mul     ecx
  44.         add     eax,ebx
  45.         mov     [ebp+12],eax
  46.         adc     edx,0
  47.         mov     [ebp+16],edx
  48. ;;;;
  49.         pop     ecx
  50.         mov     eax,[esi]
  51.         mul     ecx
  52.         add     [ebp+4],eax
  53.         adc     edx,0
  54.         mov     ebx,edx
  55.  
  56.         mov     eax,[esi+4]
  57.         mul     ecx
  58.         add     eax,ebx
  59.         adc     edx,0
  60.         add     [ebp+8],eax
  61.         adc     edx,0
  62.         mov     ebx,edx
  63.  
  64.         mov     eax,[esi+8]
  65.         mul     ecx
  66.         add     eax,ebx
  67.         adc     edx,0
  68.         add     [ebp+12],eax
  69.         adc     edx,0
  70.         mov     ebx,edx
  71.  
  72.         mov     eax,[esi+12]
  73.         mul     ecx
  74.         add     eax,ebx
  75. adc     edx,0
  76.         add     [ebp+16],eax
  77.         adc     edx,0
  78.         mov     [ebp+20],edx
  79. ;;;;
  80.         pop     ecx
  81.         mov     eax,[esi]
  82.         mul     ecx
  83.         add     [ebp+8],eax
  84.         adc     edx,0
  85.         mov     ebx,edx
  86.  
  87.         mov     eax,[esi+4]
  88.         mul     ecx
  89.         add     eax,ebx
  90.         adc     edx,0
  91.         add     [ebp+12],eax
  92.         adc     edx,0
  93.         mov     ebx,edx
  94.  
  95.         mov     eax,[esi+8]
  96.         mul     ecx
  97.         add     eax,ebx
  98.         adc     edx,0
  99.         add     [ebp+16],eax
  100.         adc     edx,0
  101.         mov     ebx,edx
  102.  
  103.         mov     eax,[esi+12]
  104.         mul     ecx
  105.         add     eax,ebx
  106.         adc     edx,0
  107.         add     [ebp+20],eax
  108.         adc     edx,0
  109.         mov     [ebp+24],edx
  110. ;;;;
  111.         pop     ecx
  112.         mov     eax,[esi]
  113.         mul     ecx
  114.         add     [ebp+12],eax
  115.         adc     edx,0
  116.         mov     ebx,edx
  117.  
  118.         mov     eax,[esi+4]
  119.         mul     ecx
  120.         add     eax,ebx
  121.         adc     edx,0
  122.         add     [ebp+16],eax
  123.         adc     edx,0
  124.         mov     ebx,edx
  125.  
  126.         mov     eax,[esi+8]
  127.         mul     ecx
  128.         add     eax,ebx
  129.         adc     edx,0
  130.         add     [ebp+20],eax
  131.         adc     edx,0
  132.         mov     ebx,edx
  133.  
  134.         mov     eax,[esi+12]
  135.         mul     ecx
  136.         add     eax,ebx
  137.         adc     edx,0
  138.         add     [ebp+24],eax
  139.         adc     edx,0
  140.         mov     [ebp+28],edx
  141.  
  142.         pop     ebx
  143.         pop     esi
  144.         pop     edi
  145.         pop     ebp
  146.  
  147.         ret
  148. _Mul128 endp
  149.  
  150.  
  151.  
  152. _TEXT   ENDS
  153.         END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement