.file "test1.c" .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "result=%p\n" .text .p2align 4,,15 .globl main .type main, @function main: leal 4(%esp), %ecx andl $-16, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ebx xorl %ebx, %ebx pushl %ecx subl $16, %esp movl v1, %ecx movl head, %edx .p2align 4,,7 .L2: movl 4(%edx), %eax testb $1, %cl cmove (%edx), %eax testb $2, %cl movl 4(%eax), %edx cmove (%eax), %edx testb $4, %cl movl 4(%edx), %eax cmove (%edx), %eax testb $8, %cl movl 4(%eax), %edx cmove (%eax), %edx testb $16, %cl movl 4(%edx), %eax cmove (%edx), %eax testb $32, %cl movl 4(%eax), %edx cmove (%eax), %edx testb $64, %cl movl 4(%edx), %eax cmove (%edx), %eax testb %cl, %cl movl 4(%eax), %edx cmovns (%eax), %edx addl $1, %ebx cmpl $4, %ebx je .L19 shrl $8, %ecx jmp .L2 .p2align 4,,7 .L19: movl %edx, 4(%esp) movl $.LC0, (%esp) call printf addl $16, %esp popl %ecx popl %ebx popl %ebp leal -4(%ecx), %esp ret .size main, .-main .comm head,4,4 .comm v1,4,4 .ident "GCC: (GNU) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)" .section .note.GNU-stack,"",@progbits