fields.sbk (3724B)
1 .data 2 .globl x 3 .align 4 4 .type x,@object 5 .size x,16 6 x: 7 .long 1 8 .byte 2 9 .space 3 10 .byte 3 11 .byte 64 12 .space 2 13 .byte 80 14 .byte 6 15 .space 2 16 .globl i 17 .align 4 18 .type i,@object 19 .size i,4 20 i: 21 .long 16 22 .globl y 23 .align 4 24 .type y,@object 25 .size y,8 26 y: 27 .byte 35 28 .space 3 29 .byte 9 30 .byte 0 31 .byte 0 32 .byte 0 33 .globl main 34 .text 35 .align 16 36 .type main,@function 37 main: 38 pushl %ebp 39 pushl %ebx 40 pushl %esi 41 pushl %edi 42 movl %esp,%ebp 43 movsbl x+13,%edi 44 pushl %edi 45 movl x+12,%edi 46 sall $25,%edi 47 sarl $29,%edi 48 pushl %edi 49 movl x+8,%edi 50 sall $16,%edi 51 sarl $28,%edi 52 pushl %edi 53 movl x+8,%edi 54 sall $20,%edi 55 sarl $20,%edi 56 pushl %edi 57 movsbl x+4,%edi 58 pushl %edi 59 pushl x 60 pushl $.LC4 61 call printf 62 addl $28,%esp 63 pushl y+4 64 movl y,%edi 65 movl %edi,%esi 66 shrl $2,%esi 67 andl $15,%esi 68 pushl %esi 69 andl $3,%edi 70 pushl %edi 71 pushl $.LC10 72 call printf 73 addl $16,%esp 74 movl x+8,%edi 75 andl $0xffff0fff,%edi 76 movl i,%esi 77 sall $28,%esi 78 sarl $28,%esi 79 shll $12,%esi 80 andl $0xf000,%esi 81 orl %esi,%edi 82 movl %edi,x+8 83 movl x+12,%edi 84 andl $0xffffff8f,%edi 85 movl %edi,x+12 86 movsbl x+13,%edi 87 pushl %edi 88 movl x+12,%edi 89 sall $25,%edi 90 sarl $29,%edi 91 pushl %edi 92 movl x+8,%edi 93 sall $16,%edi 94 sarl $28,%edi 95 pushl %edi 96 movl x+8,%edi 97 sall $20,%edi 98 sarl $20,%edi 99 pushl %edi 100 movsbl x+4,%edi 101 pushl %edi 102 pushl x 103 pushl $.LC4 104 call printf 105 addl $28,%esp 106 movl y,%edi 107 andl $0xfffffffc,%edi 108 orl $2,%edi 109 movl %edi,y 110 movl i,%edi 111 movl %edi,y+4 112 pushl y+4 113 movl y,%edi 114 movl %edi,%esi 115 shrl $2,%esi 116 andl $15,%esi 117 pushl %esi 118 andl $3,%edi 119 pushl %edi 120 pushl $.LC10 121 call printf 122 addl $16,%esp 123 pushl $x 124 call f2 125 addl $4,%esp 126 movl $0,%eax 127 .LC3: 128 movl %ebp,%esp 129 popl %edi 130 popl %esi 131 popl %ebx 132 popl %ebp 133 ret 134 .Lf21: 135 .size main,.Lf21-main 136 .globl f1 137 .align 16 138 .type f1,@function 139 f1: 140 pushl %ebp 141 pushl %ebx 142 pushl %esi 143 pushl %edi 144 movl %esp,%ebp 145 movl 20(%ebp),%edi 146 andl $0xffffffc3,(,%edi) 147 movl 20(%ebp),%edi 148 movl (,%edi),%esi 149 andl $0xfffffffc,%esi 150 movl $0,%ebx 151 andl $3,%ebx 152 andl $3,%ebx 153 orl %ebx,%esi 154 movl %esi,(,%edi) 155 movl 20(%ebp),%edi 156 movl (,%edi),%edi 157 andl $60,%edi 158 cmpl $0,%edi 159 je .LC23 160 pushl $.LC25 161 call printf 162 addl $4,%esp 163 .LC23: 164 movl 20(%ebp),%edi 165 orl $3,(,%edi) 166 movl 20(%ebp),%edi 167 orl $60,(,%edi) 168 movl 20(%ebp),%edi 169 movl (,%edi),%edi 170 movl %edi,%esi 171 shrl $2,%esi 172 andl $15,%esi 173 pushl %esi 174 andl $3,%edi 175 pushl %edi 176 pushl $.LC26 177 call printf 178 addl $12,%esp 179 movl $0,%eax 180 .LC22: 181 movl %ebp,%esp 182 popl %edi 183 popl %esi 184 popl %ebx 185 popl %ebp 186 ret 187 .Lf27: 188 .size f1,.Lf27-f1 189 .globl f2 190 .align 16 191 .type f2,@function 192 f2: 193 pushl %ebp 194 pushl %ebx 195 pushl %esi 196 pushl %edi 197 movl %esp,%ebp 198 subl $4,%esp 199 cmpl $0,i 200 jne .LC30 201 movl $1,-4(%ebp) 202 jmp .LC31 203 .LC30: 204 movl $0,-4(%ebp) 205 .LC31: 206 movl 20(%ebp),%edi 207 movl (,%edi),%esi 208 andl $0xfffffffc,%esi 209 movl -4(%ebp),%ebx 210 andl $3,%ebx 211 andl $3,%ebx 212 orl %ebx,%esi 213 movl %esi,(,%edi) 214 movl 20(%ebp),%edi 215 pushl %edi 216 call f1 217 addl $4,%esp 218 movl (,%edi),%esi 219 andl $0xffffffc3,%esi 220 movl $0,%ebx 221 andl $15,%ebx 222 leal (,%ebx,4),%ebx 223 andl $60,%ebx 224 orl %ebx,%esi 225 movl %esi,(,%edi) 226 movl $0,%eax 227 .LC28: 228 movl %ebp,%esp 229 popl %edi 230 popl %esi 231 popl %ebx 232 popl %ebp 233 ret 234 .Lf32: 235 .size f2,.Lf32-f2 236 .data 237 .align 1 238 .LC26: 239 .byte 112 240 .byte 45 241 .byte 62 242 .byte 97 243 .byte 32 244 .byte 61 245 .byte 32 246 .byte 48 247 .byte 120 248 .byte 37 249 .byte 120 250 .byte 44 251 .byte 32 252 .byte 112 253 .byte 45 254 .byte 62 255 .byte 98 256 .byte 32 257 .byte 61 258 .byte 32 259 .byte 48 260 .byte 120 261 .byte 37 262 .byte 120 263 .byte 10 264 .byte 0 265 .align 1 266 .LC25: 267 .byte 112 268 .byte 45 269 .byte 62 270 .byte 98 271 .byte 32 272 .byte 33 273 .byte 61 274 .byte 32 275 .byte 48 276 .byte 33 277 .byte 10 278 .byte 0 279 .align 1 280 .LC10: 281 .byte 121 282 .byte 32 283 .byte 61 284 .byte 32 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 10 294 .byte 0 295 .align 1 296 .LC4: 297 .byte 120 298 .byte 32 299 .byte 61 300 .byte 32 301 .byte 37 302 .byte 100 303 .byte 32 304 .byte 37 305 .byte 100 306 .byte 32 307 .byte 37 308 .byte 100 309 .byte 32 310 .byte 37 311 .byte 100 312 .byte 32 313 .byte 37 314 .byte 100 315 .byte 32 316 .byte 37 317 .byte 100 318 .byte 10 319 .byte 0 320 .text 321 .ident "LCC: 4.1"