.text LC0: .ascii "%x %x\n\0" LC1: .ascii "%x %x %x\n\0" LC2: .ascii "Hello World\n\0" LC3: .ascii "%x\n\0" .align 4 .globl _main _main: pushl %ebp pushl %edi pushl %esi pushl %ebx movl %esp,%ebp call ___main movl $0x40000000,%ebx L1: pushl %ebx pushl $LC3 call _printf addl $8,%esp shrl $1,%ebx jg L1 movl $0x12345678,%edi movl $0xabcdef42,%esi pushl %esi pushl %edi pushl $LC0 call _printf movb $12, %cl movl %esi,%eax shrdl %cl,%edi,%esi shrdl %cl,%eax,%edi pushl %eax pushl %esi pushl %edi pushl $LC1 call _printf movl %ebp,%esp popl %ebx popl %esi popl %edi popl %ebp ret