.data .globl x .align 4 .type x,@object .size x,16 x: .long 1 .byte 2 .space 3 .byte 3 .byte 64 .space 2 .byte 80 .byte 6 .space 2 .globl i .align 4 .type i,@object .size i,4 i: .long 16 .globl y .align 4 .type y,@object .size y,8 y: .byte 35 .space 3 .byte 9 .byte 0 .byte 0 .byte 0 .globl main .text .align 16 .type main,@function main: pushl %ebp pushl %ebx pushl %esi pushl %edi movl %esp,%ebp movsbl x+13,%edi pushl %edi movl x+12,%edi sall $25,%edi sarl $29,%edi pushl %edi movl x+8,%edi sall $16,%edi sarl $28,%edi pushl %edi movl x+8,%edi sall $20,%edi sarl $20,%edi pushl %edi movsbl x+4,%edi pushl %edi pushl x pushl $.LC4 call printf addl $28,%esp pushl y+4 movl y,%edi movl %edi,%esi shrl $2,%esi andl $15,%esi pushl %esi andl $3,%edi pushl %edi pushl $.LC10 call printf addl $16,%esp movl x+8,%edi andl $0xffff0fff,%edi movl i,%esi sall $28,%esi sarl $28,%esi shll $12,%esi andl $0xf000,%esi orl %esi,%edi movl %edi,x+8 movl x+12,%edi andl $0xffffff8f,%edi movl %edi,x+12 movsbl x+13,%edi pushl %edi movl x+12,%edi sall $25,%edi sarl $29,%edi pushl %edi movl x+8,%edi sall $16,%edi sarl $28,%edi pushl %edi movl x+8,%edi sall $20,%edi sarl $20,%edi pushl %edi movsbl x+4,%edi pushl %edi pushl x pushl $.LC4 call printf addl $28,%esp movl y,%edi andl $0xfffffffc,%edi orl $2,%edi movl %edi,y movl i,%edi movl %edi,y+4 pushl y+4 movl y,%edi movl %edi,%esi shrl $2,%esi andl $15,%esi pushl %esi andl $3,%edi pushl %edi pushl $.LC10 call printf addl $16,%esp pushl $x call f2 addl $4,%esp movl $0,%eax .LC3: movl %ebp,%esp popl %edi popl %esi popl %ebx popl %ebp ret .Lf21: .size main,.Lf21-main .globl f1 .align 16 .type f1,@function f1: pushl %ebp pushl %ebx pushl %esi pushl %edi movl %esp,%ebp movl 20(%ebp),%edi andl $0xffffffc3,(,%edi) movl 20(%ebp),%edi movl (,%edi),%esi andl $0xfffffffc,%esi movl $0,%ebx andl $3,%ebx andl $3,%ebx orl %ebx,%esi movl %esi,(,%edi) movl 20(%ebp),%edi movl (,%edi),%edi andl $60,%edi cmpl $0,%edi je .LC23 pushl $.LC25 call printf addl $4,%esp .LC23: movl 20(%ebp),%edi orl $3,(,%edi) movl 20(%ebp),%edi orl $60,(,%edi) movl 20(%ebp),%edi movl (,%edi),%edi movl %edi,%esi shrl $2,%esi andl $15,%esi pushl %esi andl $3,%edi pushl %edi pushl $.LC26 call printf addl $12,%esp movl $0,%eax .LC22: movl %ebp,%esp popl %edi popl %esi popl %ebx popl %ebp ret .Lf27: .size f1,.Lf27-f1 .globl f2 .align 16 .type f2,@function f2: pushl %ebp pushl %ebx pushl %esi pushl %edi movl %esp,%ebp subl $4,%esp cmpl $0,i jne .LC30 movl $1,-4(%ebp) jmp .LC31 .LC30: movl $0,-4(%ebp) .LC31: movl 20(%ebp),%edi movl (,%edi),%esi andl $0xfffffffc,%esi movl -4(%ebp),%ebx andl $3,%ebx andl $3,%ebx orl %ebx,%esi movl %esi,(,%edi) movl 20(%ebp),%edi pushl %edi call f1 addl $4,%esp movl (,%edi),%esi andl $0xffffffc3,%esi movl $0,%ebx andl $15,%ebx leal (,%ebx,4),%ebx andl $60,%ebx orl %ebx,%esi movl %esi,(,%edi) movl $0,%eax .LC28: movl %ebp,%esp popl %edi popl %esi popl %ebx popl %ebp ret .Lf32: .size f2,.Lf32-f2 .data .align 1 .LC26: .byte 112 .byte 45 .byte 62 .byte 97 .byte 32 .byte 61 .byte 32 .byte 48 .byte 120 .byte 37 .byte 120 .byte 44 .byte 32 .byte 112 .byte 45 .byte 62 .byte 98 .byte 32 .byte 61 .byte 32 .byte 48 .byte 120 .byte 37 .byte 120 .byte 10 .byte 0 .align 1 .LC25: .byte 112 .byte 45 .byte 62 .byte 98 .byte 32 .byte 33 .byte 61 .byte 32 .byte 48 .byte 33 .byte 10 .byte 0 .align 1 .LC10: .byte 121 .byte 32 .byte 61 .byte 32 .byte 37 .byte 100 .byte 32 .byte 37 .byte 100 .byte 32 .byte 37 .byte 100 .byte 10 .byte 0 .align 1 .LC4: .byte 120 .byte 32 .byte 61 .byte 32 .byte 37 .byte 100 .byte 32 .byte 37 .byte 100 .byte 32 .byte 37 .byte 100 .byte 32 .byte 37 .byte 100 .byte 32 .byte 37 .byte 100 .byte 32 .byte 37 .byte 100 .byte 10 .byte 0 .text .ident "LCC: 4.1"