Rev | Line | |
---|
[9] | 1 | .sect .text; .sect .rom; .sect .data; .sect .bss
|
---|
| 2 | .extern .extend
|
---|
| 3 | .sect .text
|
---|
| 4 | .extend:
|
---|
| 5 | push ebp
|
---|
| 6 | mov ebp,esp
|
---|
| 7 | sub esp,12
|
---|
| 8 | push esi
|
---|
| 9 | push edi
|
---|
| 10 | mov esi,12(ebp)
|
---|
| 11 | mov -12(ebp),0
|
---|
| 12 | mov edi,8(ebp)
|
---|
| 13 | push edi
|
---|
| 14 | cmp 16(ebp),8
|
---|
| 15 | jne I1_4
|
---|
| 16 | mov eax,6
|
---|
| 17 | jmp I1_5
|
---|
| 18 | I1_4:
|
---|
| 19 | mov eax,2
|
---|
| 20 | I1_5:
|
---|
| 21 | pop edx
|
---|
| 22 | add edx,eax
|
---|
| 23 | movsx eax,(edx)
|
---|
| 24 | o16 mov 2(esi),eax
|
---|
| 25 | movsx ebx,2(esi)
|
---|
| 26 | and ebx,32768
|
---|
| 27 | o16 mov (esi),ebx
|
---|
| 28 | movsx eax,(esi)
|
---|
| 29 | movsx ecx,2(esi)
|
---|
| 30 | xor ecx,eax
|
---|
| 31 | mov eax,ecx
|
---|
| 32 | movsx eax,eax
|
---|
| 33 | o16 mov 2(esi),eax
|
---|
| 34 | cmp 16(ebp),8
|
---|
| 35 | jne I1_7
|
---|
| 36 | movsx ebx,2(esi)
|
---|
| 37 | sar ebx,4
|
---|
| 38 | mov eax,ebx
|
---|
| 39 | movsx eax,eax
|
---|
| 40 | o16 mov 2(esi),eax
|
---|
| 41 | jmp I1_8
|
---|
| 42 | I1_7:
|
---|
| 43 | movsx eax,2(esi)
|
---|
| 44 | sar eax,7
|
---|
| 45 | movsx eax,eax
|
---|
| 46 | o16 mov 2(esi),eax
|
---|
| 47 | I1_8:
|
---|
| 48 | movsx eax,2(esi)
|
---|
| 49 | ! kill cc
|
---|
| 50 | test eax,eax
|
---|
| 51 | jle I1_10
|
---|
| 52 | inc -12(ebp)
|
---|
| 53 | jmp I1_11
|
---|
| 54 | I1_10:
|
---|
| 55 | movsx eax,2(esi)
|
---|
| 56 | inc eax
|
---|
| 57 | movsx eax,eax
|
---|
| 58 | o16 mov 2(esi),eax
|
---|
| 59 | I1_11:
|
---|
| 60 | cmp 16(ebp),8
|
---|
| 61 | jne I1_13
|
---|
| 62 | mov edx,(edi)
|
---|
| 63 | mov -8(ebp),edx
|
---|
| 64 | add edi,4
|
---|
| 65 | mov edx,(edi)
|
---|
| 66 | mov 4(esi),edx
|
---|
| 67 | movsx eax,2(esi)
|
---|
| 68 | cmp eax,1
|
---|
| 69 | jne I1_16
|
---|
| 70 | cmp 4(esi),0
|
---|
| 71 | jne I1_16
|
---|
| 72 | cmp -8(ebp),0
|
---|
| 73 | jne I1_16
|
---|
| 74 | o16 mov 2(esi),0
|
---|
| 75 | o16 mov (esi),0
|
---|
| 76 | mov 4(esi),0
|
---|
| 77 | mov 8(esi),0
|
---|
| 78 | jmp I1_1
|
---|
| 79 | I1_16:
|
---|
| 80 | mov edx,4(esi)
|
---|
| 81 | sal edx,11
|
---|
| 82 | mov 4(esi),edx
|
---|
| 83 | movsx eax,2(esi)
|
---|
| 84 | sub eax,1023
|
---|
| 85 | movsx eax,eax
|
---|
| 86 | o16 mov 2(esi),eax
|
---|
| 87 | mov edx,-8(ebp)
|
---|
| 88 | shr edx,21
|
---|
| 89 | or 4(esi),edx
|
---|
| 90 | mov edx,-8(ebp)
|
---|
| 91 | sal edx,11
|
---|
| 92 | mov 8(esi),edx
|
---|
| 93 | jmp I1_14
|
---|
| 94 | I1_13:
|
---|
| 95 | mov edx,(edi)
|
---|
| 96 | mov 4(esi),edx
|
---|
| 97 | sal edx,8
|
---|
| 98 | mov 4(esi),edx
|
---|
| 99 | movsx eax,2(esi)
|
---|
| 100 | cmp eax,1
|
---|
| 101 | jne I1_21
|
---|
| 102 | cmp 4(esi),0
|
---|
| 103 | jne I1_21
|
---|
| 104 | o16 mov 2(esi),0
|
---|
| 105 | o16 mov (esi),0
|
---|
| 106 | mov 4(esi),0
|
---|
| 107 | mov 8(esi),0
|
---|
| 108 | jmp I1_1
|
---|
| 109 | I1_21:
|
---|
| 110 | movsx eax,2(esi)
|
---|
| 111 | sub eax,127
|
---|
| 112 | movsx eax,eax
|
---|
| 113 | o16 mov 2(esi),eax
|
---|
| 114 | mov 8(esi),0
|
---|
| 115 | I1_14:
|
---|
| 116 | or 4(esi),-2147483648
|
---|
| 117 | cmp -12(ebp),0
|
---|
| 118 | jne I1_1
|
---|
| 119 | and 4(esi),2147483647
|
---|
| 120 | push esi
|
---|
| 121 | call .nrm_ext
|
---|
| 122 | pop ecx
|
---|
| 123 | I1_1:
|
---|
| 124 | pop edi
|
---|
| 125 | pop esi
|
---|
| 126 | leave
|
---|
| 127 | ret
|
---|
Note:
See
TracBrowser
for help on using the repository browser.