1 .file "structret.c" 2 .section .rodata.str1.1,"aMS",@progbits,1 3.LC0: 4 .string "hello" 5 .text 6 .p2align 4,,15 7.globl func 8 .type func, @function 9func: 10 pushl %ebp 11 movl %esp, %ebp 12 movl 8(%ebp), %eax 13 movl $123, %edx 14 movl $.LC0, %ecx 15 movl %edx, (%eax) 16 movl %ecx, 4(%eax) 17 popl %ebp 18 ret $4 19 .size func, .-func 20 .p2align 4,,15 21.globl func2 22 .type func2, @function 23func2: 24 pushl %ebp 25 movl %esp, %ebp 26 movl 8(%ebp), %eax 27 movl 12(%ebp), %ecx 28 movl %ecx, (%eax) 29 popl %ebp 30 ret $4 31 .size func2, .-func2 32 .section .rodata.str1.1 33.LC1: 34 .string "results of func: %d,%s\n" 35.LC2: 36 .string "results of func2: %d %d\n" 37 .text 38 .p2align 4,,15 39.globl main 40 .type main, @function 41main: 42 pushl %ebp 43 movl %esp, %ebp 44 subl $8, %esp 45 andl $-16, %esp 46 movl $.LC0, %edx 47 pushl %ecx 48 pushl %edx 49 movl $123, %eax 50 pushl %eax 51 pushl $.LC1 52 call printf 53 addl $12, %esp 54 pushl $1 55 pushl $-56 56 pushl $.LC2 57 call printf 58 xorl %eax, %eax 59 leave 60 ret 61 .size main, .-main 62 .ident "GCC: (GNU) 3.3 20030226 (prerelease) (SuSE Linux)" 63