cf.sbk (1848B)
1 .globl main 2 .text 3 .align 16 4 .type main,@function 5 main: 6 pushl %ebp 7 pushl %ebx 8 pushl %esi 9 pushl %edi 10 movl %esp,%ebp 11 subl $24,%esp 12 cmpl $1,20(%ebp) 13 jg .LC2 14 flds .LC4 15 fstps -16(%ebp) 16 jmp .LC3 17 .LC2: 18 movl 24(%ebp),%edi 19 pushl 4(%edi) 20 call atof 21 addl $4,%esp 22 fstps -20(%ebp) 23 flds -20(%ebp) 24 fdivs .LC5 25 fstps -16(%ebp) 26 .LC3: 27 movl $0,-4(%ebp) 28 .LC6: 29 movl -4(%ebp),%edi 30 leal 1(%edi),%esi 31 movl %esi,-4(%ebp) 32 flds .LC4 33 fstps f(,%edi,4) 34 .LC7: 35 cmpl $127,-4(%ebp) 36 jle .LC6 37 movl $0,-8(%ebp) 38 jmp .LC11 39 .LC10: 40 movl -12(%ebp),%edi 41 leal f(,%edi,4),%edi 42 flds (,%edi) 43 fadds .LC13 44 fstps (,%edi) 45 incl -8(%ebp) 46 .LC11: 47 call getchar 48 movl %eax,-12(%ebp) 49 cmpl $-1,%eax 50 jne .LC10 51 pushl $.LC14 52 call printf 53 addl $4,%esp 54 movl $0,-4(%ebp) 55 .LC15: 56 movl -4(%ebp),%edi 57 flds f(,%edi,4) 58 fstps -24(%ebp) 59 flds .LC4 60 fcomps -24(%ebp) 61 fstsw %ax 62 sahf 63 je .LC19 64 flds -24(%ebp) 65 fildl -8(%ebp) 66 fdivp %st(1),%st 67 flds -16(%ebp) 68 fcompp 69 fstsw %ax 70 sahf 71 ja .LC19 72 cmpl $32,-4(%ebp) 73 jg .LC21 74 pushl -4(%ebp) 75 pushl $.LC23 76 call printf 77 addl $8,%esp 78 jmp .LC22 79 .LC21: 80 pushl -4(%ebp) 81 pushl $.LC24 82 call printf 83 addl $8,%esp 84 .LC22: 85 flds .LC5 86 movl -4(%ebp),%edi 87 fmuls f(,%edi,4) 88 fildl -8(%ebp) 89 fdivp %st(1),%st 90 subl $8,%esp 91 fstpl (%esp) 92 pushl $.LC25 93 call printf 94 addl $12,%esp 95 .LC19: 96 .LC16: 97 incl -4(%ebp) 98 cmpl $127,-4(%ebp) 99 jle .LC15 100 movl $0,%eax 101 .LC1: 102 movl %ebp,%esp 103 popl %edi 104 popl %esi 105 popl %ebx 106 popl %ebp 107 ret 108 .Lf26: 109 .size main,.Lf26-main 110 .bss 111 .globl f 112 .align 4 113 .type f,@object 114 .size f,512 115 .comm f,512 116 .data 117 .align 1 118 .LC25: 119 .byte 9 120 .byte 37 121 .byte 46 122 .byte 49 123 .byte 102 124 .byte 10 125 .byte 0 126 .align 1 127 .LC24: 128 .byte 37 129 .byte 99 130 .byte 0 131 .align 1 132 .LC23: 133 .byte 37 134 .byte 48 135 .byte 51 136 .byte 111 137 .byte 0 138 .align 1 139 .LC14: 140 .byte 99 141 .byte 104 142 .byte 97 143 .byte 114 144 .byte 9 145 .byte 102 146 .byte 114 147 .byte 101 148 .byte 113 149 .byte 10 150 .byte 0 151 .align 4 152 .LC13: 153 .long 1065353216 154 .align 4 155 .LC5: 156 .long 1120403456 157 .align 4 158 .LC4: 159 .long 0 160 .text 161 .ident "LCC: 4.1"