Line | |
---|
1 | .sect .text; .sect .rom; .sect .data; .sect .bss
|
---|
2 | .extern .cfi
|
---|
3 | .sect .text
|
---|
4 | .cfi:
|
---|
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 | sub edx,2
|
---|
31 | o16 mov -18(ebp),edx
|
---|
32 | movsx eax,-10(ebp)
|
---|
33 | movsx ebx,-18(ebp)
|
---|
34 | cmp eax,ebx
|
---|
35 | jle I1_7
|
---|
36 | movsx eax,-18(ebp)
|
---|
37 | inc eax
|
---|
38 | movsx ebx,-10(ebp)
|
---|
39 | cmp eax,ebx
|
---|
40 | jne I1_10
|
---|
41 | movzx edx,-12(ebp)
|
---|
42 | test edx,edx
|
---|
43 | je I1_10
|
---|
44 | cmp -8(ebp),-2147483648
|
---|
45 | jne I1_10
|
---|
46 | cmp -4(ebp),0
|
---|
47 | je I1_7
|
---|
48 | I1_10:
|
---|
49 | push 3
|
---|
50 | call __fptrp
|
---|
51 | pop ecx
|
---|
52 | movsx eax,-10(ebp)
|
---|
53 | movsx ebx,-18(ebp)
|
---|
54 | cdq
|
---|
55 | idiv ebx
|
---|
56 | o16 mov -10(ebp),edx
|
---|
57 | I1_7:
|
---|
58 | movsx eax,-10(ebp)
|
---|
59 | sub eax,31
|
---|
60 | neg eax
|
---|
61 | mov ecx,eax
|
---|
62 | mov edx,-8(ebp)
|
---|
63 | shr edx,cl
|
---|
64 | mov esi,edx
|
---|
65 | movzx edx,-12(ebp)
|
---|
66 | test edx,edx
|
---|
67 | je I1_18
|
---|
68 | neg esi
|
---|
69 | I1_18:
|
---|
70 | xor eax,eax
|
---|
71 | cmp 12(ebp),8
|
---|
72 | jne 1f
|
---|
73 | inc eax
|
---|
74 | 1:
|
---|
75 | mov 16(ebp)(eax*4),esi
|
---|
76 | mov eax,esi
|
---|
77 | I1_1:
|
---|
78 | pop esi
|
---|
79 | leave
|
---|
80 | ret
|
---|
Note:
See
TracBrowser
for help on using the repository browser.