0
|
1 .cstring
|
|
2 LC0:
|
|
3 .ascii "\12string matches regexp. \12\0"
|
|
4 .align 2
|
|
5 LC1:
|
|
6 .ascii "\12string does not match regexp. \12\0"
|
|
7 .text
|
|
8 .align 4,0x90
|
|
9 .globl _state_8
|
|
10 _state_8:
|
|
11 pushl %ebp
|
|
12 movl %esp, %ebp
|
|
13 pushl %ebx
|
|
14 subl $20, %esp
|
|
15 call ___i686.get_pc_thunk.bx
|
|
16 "L00000000001$pb":
|
|
17 cmpb $0, (%ecx)
|
|
18 jne L5
|
|
19 leal LC0-"L00000000001$pb"(%ebx), %eax
|
|
20 movl %eax, (%esp)
|
|
21 call L_puts$stub
|
|
22 addl $20, %esp
|
|
23 popl %ebx
|
|
24 popl %ebp
|
|
25 ret
|
|
26 .align 4,0x90
|
|
27 L5:
|
|
28 leal LC1-"L00000000001$pb"(%ebx), %eax
|
|
29 movl %eax, (%esp)
|
|
30 call L_puts$stub
|
|
31 addl $20, %esp
|
|
32 popl %ebx
|
|
33 popl %ebp
|
|
34 ret
|
|
35 .align 4,0x90
|
|
36 .globl _state_1_2_3_5_7
|
|
37 _state_1_2_3_5_7:
|
|
38 pushl %ebp
|
|
39 movl %esp, %ebp
|
|
40 pushl %ebx
|
|
41 call ___i686.get_pc_thunk.bx
|
|
42 "L00000000002$pb":
|
|
43 subl $20, %esp
|
|
44 L22:
|
|
45 movzbl (%ecx), %eax
|
|
46 addl $1, %ecx
|
|
47 cmpb $66, %al
|
|
48 je L22
|
|
49 cmpb $67, %al
|
|
50 je L18
|
|
51 cmpb $65, %al
|
|
52 je L22
|
|
53 L26:
|
|
54 leal LC1-"L00000000002$pb"(%ebx), %eax
|
|
55 movl %eax, (%esp)
|
|
56 call L_puts$stub
|
|
57 addl $20, %esp
|
|
58 popl %ebx
|
|
59 popl %ebp
|
|
60 ret
|
|
61 .align 4,0x90
|
|
62 L18:
|
|
63 cmpb $0, (%ecx)
|
|
64 jne L26
|
|
65 leal LC0-"L00000000002$pb"(%ebx), %eax
|
|
66 movl %eax, (%esp)
|
|
67 call L_puts$stub
|
|
68 addl $20, %esp
|
|
69 popl %ebx
|
|
70 popl %ebp
|
|
71 ret
|
|
72 .align 4,0x90
|
|
73 .globl _state_1_3_4_5_7
|
|
74 _state_1_3_4_5_7:
|
|
75 pushl %ebp
|
|
76 movl %esp, %ebp
|
|
77 pushl %ebx
|
|
78 call ___i686.get_pc_thunk.bx
|
|
79 "L00000000003$pb":
|
|
80 subl $20, %esp
|
|
81 L38:
|
|
82 movzbl (%ecx), %eax
|
|
83 addl $1, %ecx
|
|
84 cmpb $66, %al
|
|
85 je L38
|
|
86 cmpb $67, %al
|
|
87 je L41
|
|
88 cmpb $65, %al
|
|
89 je L48
|
|
90 L46:
|
|
91 leal LC1-"L00000000003$pb"(%ebx), %eax
|
|
92 movl %eax, (%esp)
|
|
93 call L_puts$stub
|
|
94 addl $20, %esp
|
|
95 popl %ebx
|
|
96 popl %ebp
|
|
97 ret
|
|
98 .align 4,0x90
|
|
99 L48:
|
|
100 addl $20, %esp
|
|
101 popl %ebx
|
|
102 popl %ebp
|
|
103 jmp _state_1_2_3_5_7
|
|
104 .align 4,0x90
|
|
105 L41:
|
|
106 cmpb $0, (%ecx)
|
|
107 jne L46
|
|
108 leal LC0-"L00000000003$pb"(%ebx), %eax
|
|
109 movl %eax, (%esp)
|
|
110 call L_puts$stub
|
|
111 addl $20, %esp
|
|
112 popl %ebx
|
|
113 popl %ebp
|
|
114 ret
|
|
115 .align 4,0x90
|
|
116 .globl _state_1_3_5_6_7
|
|
117 _state_1_3_5_6_7:
|
|
118 pushl %ebp
|
|
119 movl %esp, %ebp
|
|
120 pushl %ebx
|
|
121 subl $20, %esp
|
|
122 movzbl (%ecx), %eax
|
|
123 call ___i686.get_pc_thunk.bx
|
|
124 "L00000000004$pb":
|
|
125 leal 1(%ecx), %edx
|
|
126 cmpb $66, %al
|
|
127 je L63
|
|
128 cmpb $67, %al
|
|
129 je L53
|
|
130 L72:
|
|
131 cmpb $65, %al
|
|
132 je L73
|
|
133 L65:
|
|
134 leal LC1-"L00000000004$pb"(%ebx), %eax
|
|
135 movl %eax, (%esp)
|
|
136 call L_puts$stub
|
|
137 addl $20, %esp
|
|
138 popl %ebx
|
|
139 popl %ebp
|
|
140 ret
|
|
141 .align 4,0x90
|
|
142 L73:
|
|
143 addl $20, %esp
|
|
144 movl %edx, %ecx
|
|
145 popl %ebx
|
|
146 popl %ebp
|
|
147 jmp _state_1_2_3_5_7
|
|
148 .align 4,0x90
|
|
149 L63:
|
|
150 movzbl (%edx), %eax
|
|
151 addl $1, %edx
|
|
152 cmpb $66, %al
|
|
153 je L63
|
|
154 cmpb $67, %al
|
|
155 jne L72
|
|
156 cmpb $0, (%edx)
|
|
157 jne L65
|
|
158 leal LC0-"L00000000004$pb"(%ebx), %eax
|
|
159 movl %eax, (%esp)
|
|
160 call L_puts$stub
|
|
161 .align 4,0x90
|
|
162 L74:
|
|
163 addl $20, %esp
|
|
164 popl %ebx
|
|
165 popl %ebp
|
|
166 ret
|
|
167 .align 4,0x90
|
|
168 L53:
|
|
169 cmpb $0, 1(%ecx)
|
|
170 jne L65
|
|
171 leal LC0-"L00000000004$pb"(%ebx), %eax
|
|
172 movl %eax, (%esp)
|
|
173 call L_puts$stub
|
|
174 jmp L74
|
|
175 .cstring
|
|
176 LC2:
|
|
177 .ascii "regexp: (A|B)*C\0"
|
|
178 LC3:
|
|
179 .ascii "number of state: 4\0"
|
|
180 LC4:
|
|
181 .ascii "string: %s\12\0"
|
|
182 .text
|
|
183 .align 4,0x90
|
|
184 .globl _main
|
|
185 _main:
|
|
186 pushl %ebp
|
|
187 movl %esp, %ebp
|
|
188 pushl %esi
|
|
189 pushl %ebx
|
|
190 call ___i686.get_pc_thunk.bx
|
|
191 "L00000000005$pb":
|
|
192 subl $16, %esp
|
|
193 movl 12(%ebp), %esi
|
|
194 leal LC2-"L00000000005$pb"(%ebx), %eax
|
|
195 movl %eax, (%esp)
|
|
196 call L_puts$stub
|
|
197 leal LC3-"L00000000005$pb"(%ebx), %eax
|
|
198 movl %eax, (%esp)
|
|
199 call L_puts$stub
|
|
200 movl 4(%esi), %eax
|
|
201 movl %eax, 4(%esp)
|
|
202 leal LC4-"L00000000005$pb"(%ebx), %eax
|
|
203 movl %eax, (%esp)
|
|
204 call L_printf$stub
|
|
205 movl 4(%esi), %eax
|
|
206 movzbl (%eax), %edx
|
|
207 leal 1(%eax), %ecx
|
|
208 cmpb $66, %dl
|
|
209 je L89
|
|
210 cmpb $67, %dl
|
|
211 je L79
|
|
212 cmpb $65, %dl
|
|
213 je L97
|
|
214 L91:
|
|
215 leal LC1-"L00000000005$pb"(%ebx), %eax
|
|
216 movl %eax, (%esp)
|
|
217 call L_puts$stub
|
|
218 addl $16, %esp
|
|
219 popl %ebx
|
|
220 popl %esi
|
|
221 popl %ebp
|
|
222 ret
|
|
223 .align 4,0x90
|
|
224 L89:
|
|
225 movzbl (%ecx), %eax
|
|
226 addl $1, %ecx
|
|
227 cmpb $66, %al
|
|
228 je L89
|
|
229 cmpb $67, %al
|
|
230 je L86
|
|
231 cmpb $65, %al
|
|
232 jne L91
|
|
233 L97:
|
|
234 addl $16, %esp
|
|
235 popl %ebx
|
|
236 popl %esi
|
|
237 popl %ebp
|
|
238 jmp _state_1_2_3_5_7
|
|
239 .align 4,0x90
|
|
240 L79:
|
|
241 cmpb $0, 1(%eax)
|
|
242 jne L91
|
|
243 L96:
|
|
244 leal LC0-"L00000000005$pb"(%ebx), %eax
|
|
245 movl %eax, (%esp)
|
|
246 call L_puts$stub
|
|
247 addl $16, %esp
|
|
248 popl %ebx
|
|
249 popl %esi
|
|
250 popl %ebp
|
|
251 ret
|
|
252 .align 4,0x90
|
|
253 L86:
|
|
254 cmpb $0, (%ecx)
|
|
255 jne L91
|
|
256 .p2align 4,,3
|
|
257 jmp L96
|
|
258 .align 4,0x90
|
|
259 .globl _accept
|
|
260 _accept:
|
|
261 pushl %ebp
|
|
262 movl %esp, %ebp
|
|
263 pushl %ebx
|
|
264 call ___i686.get_pc_thunk.bx
|
|
265 "L00000000006$pb":
|
|
266 subl $20, %esp
|
|
267 leal LC0-"L00000000006$pb"(%ebx), %eax
|
|
268 movl %eax, (%esp)
|
|
269 call L_puts$stub
|
|
270 addl $20, %esp
|
|
271 popl %ebx
|
|
272 popl %ebp
|
|
273 ret
|
|
274 .align 4,0x90
|
|
275 .globl _reject
|
|
276 _reject:
|
|
277 pushl %ebp
|
|
278 movl %esp, %ebp
|
|
279 pushl %ebx
|
|
280 call ___i686.get_pc_thunk.bx
|
|
281 "L00000000007$pb":
|
|
282 subl $20, %esp
|
|
283 leal LC1-"L00000000007$pb"(%ebx), %eax
|
|
284 movl %eax, (%esp)
|
|
285 call L_puts$stub
|
|
286 addl $20, %esp
|
|
287 popl %ebx
|
|
288 popl %ebp
|
|
289 ret
|
|
290 .picsymbol_stub
|
|
291 L_printf$stub:
|
|
292 .indirect_symbol _printf
|
|
293 call LPC$1
|
|
294 LPC$1: popl %eax
|
|
295 movl L1$lz-LPC$1(%eax),%edx
|
|
296 jmp *%edx
|
|
297 L_printf$stub_binder:
|
|
298 lea L1$lz-LPC$1(%eax),%eax
|
|
299 pushl %eax
|
|
300 jmp dyld_stub_binding_helper
|
|
301 .lazy_symbol_pointer
|
|
302 L1$lz:
|
|
303 .indirect_symbol _printf
|
|
304 .long L_printf$stub_binder
|
|
305 .picsymbol_stub
|
|
306 L_puts$stub:
|
|
307 .indirect_symbol _puts
|
|
308 call LPC$2
|
|
309 LPC$2: popl %eax
|
|
310 movl L2$lz-LPC$2(%eax),%edx
|
|
311 jmp *%edx
|
|
312 L_puts$stub_binder:
|
|
313 lea L2$lz-LPC$2(%eax),%eax
|
|
314 pushl %eax
|
|
315 jmp dyld_stub_binding_helper
|
|
316 .lazy_symbol_pointer
|
|
317 L2$lz:
|
|
318 .indirect_symbol _puts
|
|
319 .long L_puts$stub_binder
|
|
320 .subsections_via_symbols
|
|
321 .section __TEXT,__textcoal_nt,coalesced,pure_instructions
|
|
322 .weak_definition ___i686.get_pc_thunk.bx
|
|
323 .private_extern ___i686.get_pc_thunk.bx
|
|
324 ___i686.get_pc_thunk.bx:
|
|
325 movl (%esp), %ebx
|
|
326 ret
|