.globl main .text .align 16 .type main,@function main: pushl %ebp pushl %ebx pushl %esi pushl %edi movl %esp,%ebp subl $24,%esp cmpl $1,20(%ebp) jg .LC2 flds .LC4 fstps -16(%ebp) jmp .LC3 .LC2: movl 24(%ebp),%edi pushl 4(%edi) call atof addl $4,%esp fstps -20(%ebp) flds -20(%ebp) fdivs .LC5 fstps -16(%ebp) .LC3: movl $0,-4(%ebp) .LC6: movl -4(%ebp),%edi leal 1(%edi),%esi movl %esi,-4(%ebp) flds .LC4 fstps f(,%edi,4) .LC7: cmpl $127,-4(%ebp) jle .LC6 movl $0,-8(%ebp) jmp .LC11 .LC10: movl -12(%ebp),%edi leal f(,%edi,4),%edi flds (,%edi) fadds .LC13 fstps (,%edi) incl -8(%ebp) .LC11: call getchar movl %eax,-12(%ebp) cmpl $-1,%eax jne .LC10 pushl $.LC14 call printf addl $4,%esp movl $0,-4(%ebp) .LC15: movl -4(%ebp),%edi flds f(,%edi,4) fstps -24(%ebp) flds .LC4 fcomps -24(%ebp) fstsw %ax sahf jp 1f je .LC19 1: flds -24(%ebp) fildl -8(%ebp) fdivrp %st,%st(1) flds -16(%ebp) fcompp fstsw %ax sahf jp .LC19 ja .LC19 cmpl $32,-4(%ebp) jg .LC21 pushl -4(%ebp) pushl $.LC23 call printf addl $8,%esp jmp .LC22 .LC21: pushl -4(%ebp) pushl $.LC24 call printf addl $8,%esp .LC22: flds .LC5 movl -4(%ebp),%edi fmuls f(,%edi,4) fildl -8(%ebp) fdivrp %st,%st(1) subl $8,%esp fstpl (%esp) pushl $.LC25 call printf addl $12,%esp .LC19: .LC16: incl -4(%ebp) cmpl $127,-4(%ebp) jle .LC15 mov $0,%eax .LC1: movl %ebp,%esp popl %edi popl %esi popl %ebx popl %ebp ret .Lf26: .size main,.Lf26-main .bss .globl f .align 4 .type f,@object .size f,512 .comm f,512 .data .align 1 .LC25: .byte 9 .byte 37 .byte 46 .byte 49 .byte 102 .byte 10 .byte 0 .align 1 .LC24: .byte 37 .byte 99 .byte 0 .align 1 .LC23: .byte 37 .byte 48 .byte 51 .byte 111 .byte 0 .align 1 .LC14: .byte 99 .byte 104 .byte 97 .byte 114 .byte 9 .byte 102 .byte 114 .byte 101 .byte 113 .byte 10 .byte 0 .align 4 .LC13: .long 1065353216 .align 4 .LC5: .long 1120403456 .align 4 .LC4: .long 0 .text .ident "LCC: 4.1"