Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .686P
- .XMM
- .model flat
- _TEXT SEGMENT
- public _Mul128
- _Mul128 proc
- push ebp
- push edi
- push esi
- push ebx
- mov edi,[esp+24] ;; A
- mov esi,[esp+28] ;; B
- mov ebp,[esp+20] ;; C
- ;;;;
- push dword ptr [edi+12]
- push dword ptr [edi+8]
- push dword ptr [edi+4]
- mov ecx,[edi]
- mov eax,[esi]
- mul ecx
- mov [ebp],eax
- mov ebx,edx
- xor edi,edi
- mov eax,[esi+4]
- mul ecx
- add eax,ebx
- mov [ebp+4],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+8]
- mul ecx
- add eax,ebx
- mov [ebp+8],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+12]
- mul ecx
- add eax,ebx
- mov [ebp+12],eax
- adc edx,0
- mov [ebp+16],edx
- ;;;;
- pop ecx
- mov eax,[esi]
- mul ecx
- add [ebp+4],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+4]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+8],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+8]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+12],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+12]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+16],eax
- adc edx,0
- mov [ebp+20],edx
- ;;;;
- pop ecx
- mov eax,[esi]
- mul ecx
- add [ebp+8],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+4]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+12],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+8]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+16],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+12]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+20],eax
- adc edx,0
- mov [ebp+24],edx
- ;;;;
- pop ecx
- mov eax,[esi]
- mul ecx
- add [ebp+12],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+4]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+16],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+8]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+20],eax
- adc edx,0
- mov ebx,edx
- mov eax,[esi+12]
- mul ecx
- add eax,ebx
- adc edx,0
- add [ebp+24],eax
- adc edx,0
- mov [ebp+28],edx
- pop ebx
- pop esi
- pop edi
- pop ebp
- ret
- _Mul128 endp
- _TEXT ENDS
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement