stdarg.sbk (4502B)
1 .data 2 .globl x 3 .align 4 4 .type x,@object 5 .size x,16 6 x: 7 .long 1 8 .long 2 9 .long 3 10 .long 4 11 .globl main 12 .text 13 .align 16 14 .type main,@function 15 main: 16 pushl %ebp 17 pushl %ebx 18 pushl %esi 19 pushl %edi 20 movl %esp,%ebp 21 subl $8,%esp 22 pushl $.LC2 23 call print 24 addl $4,%esp 25 pushl $.LC4 26 pushl $.LC3 27 call print 28 addl $8,%esp 29 pushl $10 30 pushl $3 31 pushl $.LC5 32 call print 33 addl $12,%esp 34 pushl $10 35 pushl $4 36 pushl $.LC8 37 pushl $.LC7 38 pushl $.LC6 39 call print 40 addl $20,%esp 41 pushl $10 42 fldl .LC10 43 subl $8,%esp 44 fstpl (%esp) 45 pushl $.LC8 46 pushl $.LC7 47 pushl $.LC9 48 call print 49 addl $24,%esp 50 leal x,%edi 51 movl %edi,-8(%ebp) 52 movl %edi,%esi 53 movl %esi,-4(%ebp) 54 subl $16,%esp 55 movl %esp,%edi 56 movl $16,%ecx 57 rep 58 movsb 59 movl -8(%ebp),%edi 60 movl %edi,%esi 61 subl $16,%esp 62 movl %esp,%edi 63 movl $16,%ecx 64 rep 65 movsb 66 movl -8(%ebp),%edi 67 movl %edi,%esi 68 subl $16,%esp 69 movl %esp,%edi 70 movl $16,%ecx 71 rep 72 movsb 73 movl -8(%ebp),%edi 74 movl %edi,%esi 75 subl $16,%esp 76 movl %esp,%edi 77 movl $16,%ecx 78 rep 79 movsb 80 movl -8(%ebp),%edi 81 movl %edi,%esi 82 subl $16,%esp 83 movl %esp,%edi 84 movl $16,%ecx 85 rep 86 movsb 87 movl -8(%ebp),%edi 88 movl %edi,%esi 89 subl $16,%esp 90 movl %esp,%edi 91 movl $16,%ecx 92 rep 93 movsb 94 pushl $.LC11 95 call print 96 addl $100,%esp 97 movl $0,%eax 98 .LC1: 99 movl %ebp,%esp 100 popl %edi 101 popl %esi 102 popl %ebx 103 popl %ebp 104 ret 105 .Lf12: 106 .size main,.Lf12-main 107 .globl print 108 .align 16 109 .type print,@function 110 print: 111 pushl %ebp 112 pushl %ebx 113 pushl %esi 114 pushl %edi 115 movl %esp,%ebp 116 subl $28,%esp 117 leal 24(%ebp),%edi 118 movl %edi,-4(%ebp) 119 jmp .LC19 120 .LC16: 121 movl 20(%ebp),%edi 122 movsbl (,%edi),%edi 123 cmpl $37,%edi 124 jne .LC20 125 movl 20(%ebp),%edi 126 leal 1(%edi),%edi 127 movl %edi,20(%ebp) 128 movsbl (,%edi),%edi 129 movl %edi,-8(%ebp) 130 movl -8(%ebp),%edi 131 cmpl $115,%edi 132 je .LC36 133 cmpl $115,%edi 134 jg .LC41 135 .LC40: 136 movl -8(%ebp),%edi 137 cmpl $98,%edi 138 jl .LC22 139 cmpl $102,%edi 140 jg .LC22 141 jmp *.LC42-392(,%edi,4) 142 .data 143 .align 4 144 .LC42: 145 .long .LC25 146 .long .LC30 147 .long .LC32 148 .long .LC22 149 .long .LC38 150 .text 151 .LC41: 152 cmpl $119,-8(%ebp) 153 je .LC34 154 jmp .LC22 155 .LC25: 156 movl -4(%ebp),%edi 157 leal 16(%edi),%edi 158 movl %edi,-28(%ebp) 159 movl %edi,-4(%ebp) 160 leal -24(%ebp),%edi 161 movl -28(%ebp),%esi 162 leal -16(%esi),%esi 163 movl $16,%ecx 164 rep 165 movsb 166 pushl -12(%ebp) 167 pushl -16(%ebp) 168 pushl -20(%ebp) 169 pushl -24(%ebp) 170 pushl $.LC26 171 call printf 172 addl $20,%esp 173 jmp .LC21 174 .LC30: 175 movl -4(%ebp),%edi 176 leal 4(%edi),%edi 177 movl %edi,-4(%ebp) 178 movsbl -4(%edi),%edi 179 pushl %edi 180 pushl $.LC31 181 call printf 182 addl $8,%esp 183 jmp .LC21 184 .LC32: 185 movl -4(%ebp),%edi 186 leal 4(%edi),%edi 187 movl %edi,-4(%ebp) 188 pushl -4(%edi) 189 pushl $.LC33 190 call printf 191 addl $8,%esp 192 jmp .LC21 193 .LC34: 194 movl -4(%ebp),%edi 195 leal 4(%edi),%edi 196 movl %edi,-4(%ebp) 197 movswl -4(%edi),%edi 198 pushl %edi 199 pushl $.LC35 200 call printf 201 addl $8,%esp 202 jmp .LC21 203 .LC36: 204 movl -4(%ebp),%edi 205 leal 4(%edi),%edi 206 movl %edi,-4(%ebp) 207 pushl -4(%edi) 208 pushl $.LC37 209 call printf 210 addl $8,%esp 211 jmp .LC21 212 .LC38: 213 movl -4(%ebp),%edi 214 leal 8(%edi),%edi 215 movl %edi,-4(%ebp) 216 fldl -8(%edi) 217 subl $8,%esp 218 fstpl (%esp) 219 pushl $.LC39 220 call printf 221 addl $12,%esp 222 jmp .LC21 223 .LC22: 224 movl 20(%ebp),%edi 225 movsbl (,%edi),%edi 226 pushl %edi 227 pushl $.LC31 228 call printf 229 addl $8,%esp 230 jmp .LC21 231 .LC20: 232 movl 20(%ebp),%edi 233 movsbl (,%edi),%edi 234 pushl %edi 235 pushl $.LC31 236 call printf 237 addl $8,%esp 238 .LC21: 239 .LC17: 240 incl 20(%ebp) 241 .LC19: 242 movl 20(%ebp),%edi 243 movsbl (,%edi),%edi 244 cmpl $0,%edi 245 jne .LC16 246 movl $0,%eax 247 .LC13: 248 movl %ebp,%esp 249 popl %edi 250 popl %esi 251 popl %ebx 252 popl %ebp 253 ret 254 .Lf44: 255 .size print,.Lf44-print 256 .data 257 .align 1 258 .LC39: 259 .byte 37 260 .byte 102 261 .byte 0 262 .align 1 263 .LC37: 264 .byte 37 265 .byte 115 266 .byte 0 267 .align 1 268 .LC35: 269 .byte 37 270 .byte 120 271 .byte 0 272 .align 1 273 .LC33: 274 .byte 37 275 .byte 100 276 .byte 0 277 .align 1 278 .LC31: 279 .byte 37 280 .byte 99 281 .byte 0 282 .align 1 283 .LC26: 284 .byte 123 285 .byte 37 286 .byte 100 287 .byte 32 288 .byte 37 289 .byte 100 290 .byte 32 291 .byte 37 292 .byte 100 293 .byte 32 294 .byte 37 295 .byte 100 296 .byte 125 297 .byte 0 298 .align 1 299 .LC11: 300 .byte 37 301 .byte 98 302 .byte 32 303 .byte 37 304 .byte 98 305 .byte 32 306 .byte 37 307 .byte 98 308 .byte 32 309 .byte 37 310 .byte 98 311 .byte 32 312 .byte 37 313 .byte 98 314 .byte 32 315 .byte 37 316 .byte 98 317 .byte 10 318 .byte 0 319 .align 4 320 .LC10: 321 .long 0 322 .long 1075052544 323 .align 1 324 .LC9: 325 .byte 37 326 .byte 115 327 .byte 37 328 .byte 115 329 .byte 32 330 .byte 37 331 .byte 102 332 .byte 37 333 .byte 99 334 .byte 0 335 .align 1 336 .LC8: 337 .byte 115 338 .byte 116 339 .byte 0 340 .align 1 341 .LC7: 342 .byte 116 343 .byte 101 344 .byte 0 345 .align 1 346 .LC6: 347 .byte 37 348 .byte 115 349 .byte 37 350 .byte 115 351 .byte 32 352 .byte 37 353 .byte 119 354 .byte 37 355 .byte 99 356 .byte 0 357 .align 1 358 .LC5: 359 .byte 116 360 .byte 101 361 .byte 115 362 .byte 116 363 .byte 32 364 .byte 37 365 .byte 100 366 .byte 37 367 .byte 99 368 .byte 0 369 .align 1 370 .LC4: 371 .byte 50 372 .byte 0 373 .align 1 374 .LC3: 375 .byte 116 376 .byte 101 377 .byte 115 378 .byte 116 379 .byte 32 380 .byte 37 381 .byte 115 382 .byte 10 383 .byte 0 384 .align 1 385 .LC2: 386 .byte 116 387 .byte 101 388 .byte 115 389 .byte 116 390 .byte 32 391 .byte 49 392 .byte 10 393 .byte 0 394 .text 395 .ident "LCC: 4.1"