.file "10.c" .section .rodata .LC0: .string "fun2: %d\n" .text .type fun2.0, @function fun2.0: pushl %ebp movl %esp, %ebp pushl %ebx subl $4, %esp movl %ecx, -8(%ebp) movl -8(%ebp), %ecx movl %ecx, %ebx subl $8, %esp pushl -4(%ebx) pushl $.LC0 call printf addl $16, %esp movl $10, -4(%ebx) movl -4(%ebp), %ebx leave ret .size fun2.0, .-fun2.0 .type fun3.1, @function fun3.1: pushl %ebp movl %esp, %ebp subl $8, %esp movl %ecx, -4(%ebp) movl -4(%ebp), %ecx movl -8(%ecx), %eax call *%eax leave ret .size fun3.1, .-fun3.1 .globl fun1 .type fun1, @function fun1: pushl %ebp movl %esp, %ebp subl $40, %esp leal -40(%ebp), %eax addl $0, %eax andb $255, %ah movl $fun2.0, %ecx leal 10(%eax), %edx subl %edx, %ecx movl %ecx, %edx movb $-71, (%eax) leal -8(%ebp), %ecx movl %ecx, 1(%eax) movb $-23, 5(%eax) movl %edx, 6(%eax) movl $5, -12(%ebp) leal -40(%ebp), %eax addl $0, %eax andb $255, %ah movl %eax, -16(%ebp) leal -8(%ebp), %ecx call fun3.1 leave ret .size fun1, .-fun1 .globl main .type main, @function main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax subl %eax, %esp call fun1 leave ret .size main, .-main .section .note.GNU-stack,"x",@progbits .ident "GCC: (GNU) 3.3.2 20031022 (Red Hat Linux 3.3.2-1)"