array.sbk (3013B)
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 $60,%esp 12 movl $0,-8(%ebp) 13 .LC2: 14 movl $0,-4(%ebp) 15 .LC6: 16 movl -4(%ebp),%edi 17 movl -8(%ebp),%esi 18 movl %esi,%ebx 19 sall $4,%ebx 20 leal x(%ebx),%ebx 21 imul $1000,%esi,%esi 22 leal (%edi,%esi),%esi 23 movl %esi,(%ebx,%edi,4) 24 .LC7: 25 incl -4(%ebp) 26 cmpl $4,-4(%ebp) 27 jl .LC6 28 movl -8(%ebp),%edi 29 movl %edi,%esi 30 sall $4,%esi 31 leal x(%esi),%esi 32 movl %esi,y(,%edi,4) 33 .LC3: 34 incl -8(%ebp) 35 cmpl $3,-8(%ebp) 36 jl .LC2 37 call f 38 movl $0,-8(%ebp) 39 .LC10: 40 movl -8(%ebp),%edi 41 movl %edi,%esi 42 sall $4,%esi 43 leal -60(%ebp),%ebx 44 leal (%ebx,%esi),%esi 45 movl %esi,-12(%ebp) 46 movl %esi,y(,%edi,4) 47 movl $0,-4(%ebp) 48 .LC14: 49 movl -4(%ebp),%edi 50 leal (,%edi,4),%edi 51 movl -12(%ebp),%esi 52 movl -8(%ebp),%ebx 53 sall $4,%ebx 54 leal x(%ebx),%ebx 55 movl (%ebx,%edi),%ebx 56 movl %ebx,(%esi,%edi) 57 .LC15: 58 incl -4(%ebp) 59 cmpl $4,-4(%ebp) 60 jl .LC14 61 .LC11: 62 incl -8(%ebp) 63 cmpl $3,-8(%ebp) 64 jl .LC10 65 pushl $y 66 leal -60(%ebp),%edi 67 pushl %edi 68 call g 69 addl $8,%esp 70 movl $0,%eax 71 .LC1: 72 movl %ebp,%esp 73 popl %edi 74 popl %esi 75 popl %ebx 76 popl %ebp 77 ret 78 .Lf18: 79 .size main,.Lf18-main 80 .globl f 81 .align 16 82 .type f,@function 83 f: 84 pushl %ebp 85 pushl %ebx 86 pushl %esi 87 pushl %edi 88 movl %esp,%ebp 89 subl $8,%esp 90 movl $0,-8(%ebp) 91 .LC20: 92 movl $0,-4(%ebp) 93 .LC24: 94 movl -4(%ebp),%edi 95 movl -8(%ebp),%esi 96 sall $4,%esi 97 leal x(%esi),%esi 98 pushl (%esi,%edi,4) 99 pushl $.LC28 100 call printf 101 addl $8,%esp 102 .LC25: 103 incl -4(%ebp) 104 cmpl $4,-4(%ebp) 105 jl .LC24 106 .LC21: 107 incl -8(%ebp) 108 cmpl $3,-8(%ebp) 109 jl .LC20 110 pushl $.LC29 111 call printf 112 addl $4,%esp 113 movl $0,-8(%ebp) 114 .LC30: 115 movl $0,-4(%ebp) 116 .LC34: 117 movl -4(%ebp),%edi 118 movl -8(%ebp),%esi 119 movl y(,%esi,4),%esi 120 pushl (%esi,%edi,4) 121 pushl $.LC28 122 call printf 123 addl $8,%esp 124 .LC35: 125 incl -4(%ebp) 126 cmpl $4,-4(%ebp) 127 jl .LC34 128 .LC31: 129 incl -8(%ebp) 130 cmpl $3,-8(%ebp) 131 jl .LC30 132 pushl $.LC29 133 call printf 134 addl $4,%esp 135 movl $0,%eax 136 .LC19: 137 movl %ebp,%esp 138 popl %edi 139 popl %esi 140 popl %ebx 141 popl %ebp 142 ret 143 .Lf38: 144 .size f,.Lf38-f 145 .globl g 146 .align 16 147 .type g,@function 148 g: 149 pushl %ebp 150 pushl %ebx 151 pushl %esi 152 pushl %edi 153 movl %esp,%ebp 154 subl $8,%esp 155 movl $0,-8(%ebp) 156 .LC40: 157 movl $0,-4(%ebp) 158 .LC44: 159 movl -4(%ebp),%edi 160 movl -8(%ebp),%esi 161 sall $4,%esi 162 movl 20(%ebp),%ebx 163 leal (%ebx,%esi),%esi 164 pushl (%esi,%edi,4) 165 pushl $.LC28 166 call printf 167 addl $8,%esp 168 .LC45: 169 incl -4(%ebp) 170 cmpl $4,-4(%ebp) 171 jl .LC44 172 .LC41: 173 incl -8(%ebp) 174 cmpl $3,-8(%ebp) 175 jl .LC40 176 pushl $.LC29 177 call printf 178 addl $4,%esp 179 movl $0,-8(%ebp) 180 .LC48: 181 movl $0,-4(%ebp) 182 .LC52: 183 movl -4(%ebp),%edi 184 movl -8(%ebp),%esi 185 movl 24(%ebp),%ebx 186 movl (%ebx,%esi,4),%esi 187 pushl (%esi,%edi,4) 188 pushl $.LC28 189 call printf 190 addl $8,%esp 191 .LC53: 192 incl -4(%ebp) 193 cmpl $4,-4(%ebp) 194 jl .LC52 195 .LC49: 196 incl -8(%ebp) 197 cmpl $3,-8(%ebp) 198 jl .LC48 199 pushl $.LC29 200 call printf 201 addl $4,%esp 202 movl $0,%eax 203 .LC39: 204 movl %ebp,%esp 205 popl %edi 206 popl %esi 207 popl %ebx 208 popl %ebp 209 ret 210 .Lf56: 211 .size g,.Lf56-g 212 .bss 213 .globl y 214 .align 4 215 .type y,@object 216 .size y,12 217 .comm y,12 218 .globl x 219 .align 4 220 .type x,@object 221 .size x,48 222 .comm x,48 223 .data 224 .align 1 225 .LC29: 226 .byte 10 227 .byte 0 228 .align 1 229 .LC28: 230 .byte 32 231 .byte 37 232 .byte 100 233 .byte 0 234 .text 235 .ident "LCC: 4.1"