Ticket #52: div64_32.lst

File div64_32.lst, 5.4 KB (added by Brendan Oakley, 16 years ago)

disassembly of div64_32 in OW1.6

Line 
10000 divl_:
20000 56 push esi
30001 57 push edi
40002 55 push ebp
50003 89 D5 mov ebp,edx
60005 89 DF mov edi,ebx
70007 89 CE mov esi,ecx
80009 BB 20 00 00 00 mov ebx,0x00000020
9000E 31 D2 xor edx,edx
100010 31 C9 xor ecx,ecx
110012 E8 00 00 00 00 call __U8LS
120017 89 C1 mov ecx,eax
130019 09 E9 or ecx,ebp
14001B 85 D2 test edx,edx
15001D 75 04 jne L$1
16001F 85 C9 test ecx,ecx
170021 74 16 je L$2
180023 L$1:
190023 89 C8 mov eax,ecx
200025 31 D2 xor edx,edx
210027 F7 F7 div edi
220029 31 D2 xor edx,edx
23002B 89 06 mov dword ptr [esi],eax
24002D 89 C8 mov eax,ecx
25002F F7 F7 div edi
260031 8B 44 24 10 mov eax,dword ptr 0x10[esp]
270035 89 10 mov dword ptr [eax],edx
280037 EB 10 jmp L$3
290039 L$2:
300039 8B 44 24 10 mov eax,dword ptr 0x10[esp]
31003D C7 00 00 00 00 00 mov dword ptr [eax],0x00000000
320043 C7 06 00 00 00 00 mov dword ptr [esi],0x00000000
330049 L$3:
340049 5D pop ebp
35004A 5F pop edi
36004B 5E pop esi
37004C C2 04 00 ret 0x0004
38004F div64_32_:
39004F 51 push ecx
400050 56 push esi
410051 57 push edi
420052 55 push ebp
430053 83 EC 0C sub esp,0x0000000c
440056 89 C6 mov esi,eax
450058 89 D7 mov edi,edx
46005A 89 DD mov ebp,ebx
47005C 8B 00 mov eax,dword ptr [eax]
48005E BB 20 00 00 00 mov ebx,0x00000020
490063 89 44 24 04 mov dword ptr 0x4[esp],eax
500067 31 C9 xor ecx,ecx
510069 8B 06 mov eax,dword ptr [esi]
52006B 8B 56 04 mov edx,dword ptr 0x4[esi]
53006E E8 00 00 00 00 call __U8RS
540073 89 C1 mov ecx,eax
550075 85 C0 test eax,eax
560077 74 44 je L$4
570079 31 D2 xor edx,edx
58007B F7 F7 div edi
59007D 89 14 24 mov dword ptr [esp],edx
600080 89 C8 mov eax,ecx
610082 31 D2 xor edx,edx
620084 F7 F7 div edi
630086 55 push ebp
640087 89 FB mov ebx,edi
650089 8D 4C 24 08 lea ecx,0x8[esp]
66008D 8B 54 24 08 mov edx,dword ptr 0x8[esp]
670091 89 44 24 0C mov dword ptr 0xc[esp],eax
680095 8B 44 24 04 mov eax,dword ptr 0x4[esp]
690099 E8 00 00 00 00 call divl_
70009E 8B 44 24 08 mov eax,dword ptr 0x8[esp]
7100A2 BB 20 00 00 00 mov ebx,0x00000020
7200A7 31 D2 xor edx,edx
7300A9 31 C9 xor ecx,ecx
7400AB E8 00 00 00 00 call __U8LS
7500B0 8B 4C 24 04 mov ecx,dword ptr 0x4[esp]
7600B4 89 56 04 mov dword ptr 0x4[esi],edx
7700B7 09 C1 or ecx,eax
7800B9 89 0E mov dword ptr [esi],ecx
7900BB EB 18 jmp L$5
8000BD L$4:
8100BD 8B 44 24 04 mov eax,dword ptr 0x4[esp]
8200C1 31 D2 xor edx,edx
8300C3 F7 F7 div edi
8400C5 89 4E 04 mov dword ptr 0x4[esi],ecx
8500C8 89 06 mov dword ptr [esi],eax
8600CA 31 D2 xor edx,edx
8700CC 8B 44 24 04 mov eax,dword ptr 0x4[esp]
8800D0 F7 F7 div edi
8900D2 89 55 00 mov dword ptr [ebp],edx
9000D5 L$5:
9100D5 83 C4 0C add esp,0x0000000c
9200D8 5D pop ebp
9300D9 5F pop edi
9400DA 5E pop esi
9500DB 59 pop ecx
9600DC C3 ret