Rev | Line | |
---|
[9] | 1 | .sect .text; .sect .rom; .sect .data; .sect .bss
|
---|
| 2 | .extern .add_ext
|
---|
| 3 | .sect .text
|
---|
| 4 | .add_ext:
|
---|
| 5 | push ebp
|
---|
| 6 | mov ebp,esp
|
---|
| 7 | sub esp,12
|
---|
| 8 | push esi
|
---|
| 9 | push edi
|
---|
| 10 | mov esi,8(ebp)
|
---|
| 11 | mov edi,12(ebp)
|
---|
| 12 | mov edx,8(edi)
|
---|
| 13 | or edx,4(edi)
|
---|
| 14 | je I1_1
|
---|
| 15 | mov edx,8(esi)
|
---|
| 16 | or edx,4(esi)
|
---|
| 17 | jne I1_7
|
---|
| 18 | push edi
|
---|
| 19 | push esi
|
---|
| 20 | mov ecx,3
|
---|
| 21 | call .blm
|
---|
| 22 | jmp I1_1
|
---|
| 23 | I1_7:
|
---|
| 24 | push edi
|
---|
| 25 | push esi
|
---|
| 26 | call .sft_ext
|
---|
| 27 | pop ecx
|
---|
| 28 | pop ecx
|
---|
| 29 | movsx eax,(esi)
|
---|
| 30 | movsx ebx,(edi)
|
---|
| 31 | cmp eax,ebx
|
---|
| 32 | je I1_10
|
---|
| 33 | mov edx,4(esi)
|
---|
| 34 | cmp 4(edi),edx
|
---|
| 35 | ja I1_12
|
---|
| 36 | cmp 4(edi),edx
|
---|
| 37 | jne I1_13
|
---|
| 38 | mov edx,8(esi)
|
---|
| 39 | cmp 8(edi),edx
|
---|
| 40 | jbe I1_13
|
---|
| 41 | I1_12:
|
---|
| 42 | push esi
|
---|
| 43 | lea eax,-12(ebp)
|
---|
| 44 | push eax
|
---|
| 45 | mov ecx,3
|
---|
| 46 | call .blm
|
---|
| 47 | push edi
|
---|
| 48 | push esi
|
---|
| 49 | mov ecx,3
|
---|
| 50 | call .blm
|
---|
| 51 | mov edx,-4(ebp)
|
---|
| 52 | cmp 8(esi),edx
|
---|
| 53 | jae I1_18
|
---|
| 54 | mov edx,4(esi)
|
---|
| 55 | sub edx,1
|
---|
| 56 | mov 4(esi),edx
|
---|
| 57 | I1_18:
|
---|
| 58 | mov edx,4(esi)
|
---|
| 59 | sub edx,-8(ebp)
|
---|
| 60 | mov 4(esi),edx
|
---|
| 61 | mov edx,8(esi)
|
---|
| 62 | sub edx,-4(ebp)
|
---|
| 63 | mov 8(esi),edx
|
---|
| 64 | jmp I1_11
|
---|
| 65 | I1_13:
|
---|
| 66 | mov edx,8(esi)
|
---|
| 67 | cmp 8(edi),edx
|
---|
| 68 | jbe I1_21
|
---|
| 69 | mov edx,4(esi)
|
---|
| 70 | sub edx,1
|
---|
| 71 | mov 4(esi),edx
|
---|
| 72 | I1_21:
|
---|
| 73 | mov edx,4(esi)
|
---|
| 74 | sub edx,4(edi)
|
---|
| 75 | mov 4(esi),edx
|
---|
| 76 | mov edx,8(esi)
|
---|
| 77 | sub edx,8(edi)
|
---|
| 78 | mov 8(esi),edx
|
---|
| 79 | jmp I1_11
|
---|
| 80 | I1_10:
|
---|
| 81 | lea eax,4(edi)
|
---|
| 82 | push eax
|
---|
| 83 | lea eax,4(esi)
|
---|
| 84 | push eax
|
---|
| 85 | call .b64_add
|
---|
| 86 | pop ecx
|
---|
| 87 | pop ecx
|
---|
| 88 | test eax,eax
|
---|
| 89 | je I1_11
|
---|
| 90 | lea eax,4(esi)
|
---|
| 91 | push eax
|
---|
| 92 | call .b64_rsft
|
---|
| 93 | pop ecx
|
---|
| 94 | or 4(esi),-2147483648
|
---|
| 95 | movsx eax,2(esi)
|
---|
| 96 | inc eax
|
---|
| 97 | movsx eax,eax
|
---|
| 98 | o16 mov 2(esi),eax
|
---|
| 99 | I1_11:
|
---|
| 100 | push esi
|
---|
| 101 | call .nrm_ext
|
---|
| 102 | pop ecx
|
---|
| 103 | I1_1:
|
---|
| 104 | pop edi
|
---|
| 105 | pop esi
|
---|
| 106 | leave
|
---|
| 107 | ret
|
---|
Note:
See
TracBrowser
for help on using the repository browser.