Rev | Line | |
---|
[9] | 1 | .sect .text; .sect .rom; .sect .data; .sect .bss
|
---|
| 2 | .extern .cfu
|
---|
| 3 | .sect .text
|
---|
| 4 | .cfu:
|
---|
| 5 | push ebp
|
---|
| 6 | mov ebp,esp
|
---|
| 7 | sub esp,20
|
---|
| 8 | push esi
|
---|
| 9 | push 12(ebp)
|
---|
| 10 | lea eax,-12(ebp)
|
---|
| 11 | push eax
|
---|
| 12 | lea eax,16(ebp)
|
---|
| 13 | push eax
|
---|
| 14 | call .extend
|
---|
| 15 | add esp,12
|
---|
| 16 | movsx eax,-10(ebp)
|
---|
| 17 | test eax,eax
|
---|
| 18 | jns I1_4
|
---|
| 19 | xor eax,eax
|
---|
| 20 | cmp 12(ebp),8
|
---|
| 21 | jne 1f
|
---|
| 22 | inc eax
|
---|
| 23 | 1:
|
---|
| 24 | mov 16(ebp)(eax*4),0
|
---|
| 25 | xor eax,eax
|
---|
| 26 | jmp I1_1
|
---|
| 27 | I1_4:
|
---|
| 28 | mov edx,8(ebp)
|
---|
| 29 | sal edx,3
|
---|
| 30 | dec edx
|
---|
| 31 | o16 mov -20(ebp),edx
|
---|
| 32 | movsx eax,-10(ebp)
|
---|
| 33 | movsx ebx,-20(ebp)
|
---|
| 34 | cmp eax,ebx
|
---|
| 35 | jle I1_7
|
---|
| 36 | push 3
|
---|
| 37 | call __fptrp
|
---|
| 38 | pop ecx
|
---|
| 39 | movsx eax,-10(ebp)
|
---|
| 40 | movsx ebx,-20(ebp)
|
---|
| 41 | cdq
|
---|
| 42 | idiv ebx
|
---|
| 43 | o16 mov -10(ebp),edx
|
---|
| 44 | I1_7:
|
---|
| 45 | movsx eax,-10(ebp)
|
---|
| 46 | sub eax,31
|
---|
| 47 | neg eax
|
---|
| 48 | mov ecx,eax
|
---|
| 49 | mov edx,-8(ebp)
|
---|
| 50 | shr edx,cl
|
---|
| 51 | mov esi,edx
|
---|
| 52 | xor eax,eax
|
---|
| 53 | cmp 12(ebp),8
|
---|
| 54 | jne 1f
|
---|
| 55 | inc eax
|
---|
| 56 | 1:
|
---|
| 57 | mov 16(ebp)(eax*4),esi
|
---|
| 58 | mov eax,esi
|
---|
| 59 | I1_1:
|
---|
| 60 | pop esi
|
---|
| 61 | leave
|
---|
| 62 | ret
|
---|
Note:
See
TracBrowser
for help on using the repository browser.