sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 1 | .file "coolo_strlen.c" |
2 | .version "01.01" | ||||
3 | gcc2_compiled.: | ||||
4 | .section .rodata | ||||
5 | .LC0: | ||||
6 | .string "HALLO" | ||||
7 | .globl memset | ||||
8 | .LC1: | ||||
9 | .string "THis is a very long strings" | ||||
10 | .text | ||||
11 | .align 4 | ||||
12 | .globl main | ||||
13 | .type main,@function | ||||
14 | main: | ||||
15 | movl .LC0,%eax | ||||
16 | pushl %ebp | ||||
17 | movl %esp,%ebp | ||||
18 | subl $216,%esp | ||||
19 | movl %eax,-200(%ebp) | ||||
20 | movw .LC0+4,%ax | ||||
21 | movw %ax,-196(%ebp) | ||||
22 | leal -194(%ebp),%eax | ||||
23 | addl $-4,%esp | ||||
24 | pushl $194 | ||||
25 | pushl $0 | ||||
26 | pushl %eax | ||||
27 | call memset | ||||
28 | addl $16,%esp | ||||
29 | addl $-12,%esp | ||||
30 | addl $-8,%esp | ||||
31 | pushl $.LC1 | ||||
32 | leal -200(%ebp),%eax | ||||
33 | pushl %eax | ||||
34 | call strcat | ||||
35 | addl $16,%esp | ||||
36 | pushl %eax | ||||
37 | call __strdup | ||||
38 | movl %eax,%edx | ||||
39 | movl %edx,%ecx | ||||
40 | andl $3,%ecx | ||||
41 | je .L105 | ||||
42 | jp .L110 | ||||
43 | cmpl $2,%ecx | ||||
44 | je .L111 | ||||
45 | cmpb %ch,(%eax) | ||||
46 | je .L109 | ||||
47 | incl %eax | ||||
48 | .L111: | ||||
49 | cmpb %ch,(%eax) | ||||
50 | je .L109 | ||||
51 | incl %eax | ||||
52 | .L110: | ||||
53 | cmpb %ch,(%eax) | ||||
54 | je .L109 | ||||
55 | incl %eax | ||||
56 | .L105: | ||||
57 | movl (%eax),%ecx | ||||
58 | testb %ch,%cl | ||||
59 | jne .L106 | ||||
60 | testb %cl,%cl | ||||
61 | je .L109 | ||||
62 | testb %ch,%ch | ||||
63 | je .L108 | ||||
64 | .L106: | ||||
65 | testl $16711680,%ecx | ||||
66 | je .L107 | ||||
67 | addl $4,%eax | ||||
68 | testl $-16777216,%ecx | ||||
69 | jne .L105 | ||||
70 | subl $3,%eax | ||||
71 | .L107: | ||||
72 | incl %eax | ||||
73 | .L108: | ||||
74 | incl %eax | ||||
75 | .L109: | ||||
76 | subl %edx,%eax | ||||
77 | cmpl $11,%eax | ||||
78 | jle .L102 | ||||
79 | movl $1,%eax | ||||
80 | jmp .L104 | ||||
81 | .p2align 4,,7 | ||||
82 | .L102: | ||||
83 | xorl %eax,%eax | ||||
84 | .L104: | ||||
85 | movl %ebp,%esp | ||||
86 | popl %ebp | ||||
87 | ret | ||||
88 | .Lfe1: | ||||
89 | .size main,.Lfe1-main | ||||
90 | .ident "GCC: (GNU) 2.95.3 20010315 (release)" |