.file "c2asm.c" .version "01.01" gcc2_compiled.: .text .align 4 .globl func1 .type func1,@function func1: pushl %ebp movl %esp,%ebp movl 12(%ebp),%eax movl 8(%ebp),%ecx addl %eax,%ecx leal (%ecx,%ecx),%edx subl %eax,%edx movl %ecx,%eax imull %edx,%eax movl %ebp,%esp popl %ebp ret .Lfe1: .size func1,.Lfe1-func1 .align 4 .globl func2 .type func2,@function func2: pushl %ebp movl %esp,%ebp movl 8(%ebp),%edx movl 12(%ebp),%eax cmpl %eax,%edx jle .L21 movl %edx,%eax .L21: movl %ebp,%esp popl %ebp ret .Lfe2: .size func2,.Lfe2-func2 .align 4 .globl func3 .type func3,@function func3: pushl %ebp movl %esp,%ebp movl 8(%ebp),%edx movl 12(%ebp),%ecx movl $-559038737,%eax cmpl $4,%edx ja .L23 jmp *.L29(,%edx,4) .p2align 4,,7 .section .rodata .align 4 .align 4 .L29: .long .L24 .long .L25 .long .L26 .long .L27 .long .L28 .text .p2align 4,,7 .L24: movl %edx,%eax jmp .L23 .p2align 4,,7 .L25: movl %ecx,%eax jmp .L23 .p2align 4,,7 .L26: leal (%ecx,%edx),%eax jmp .L23 .p2align 4,,7 .L27: movl %edx,%eax subl %ecx,%eax jmp .L23 .p2align 4,,7 .L28: movl %edx,%eax imull %ecx,%eax .L23: movl %ebp,%esp popl %ebp ret .Lfe3: .size func3,.Lfe3-func3 .section .rodata .LC0: .string "%d %d" .LC1: .string "func1 returns %d\n" .LC2: .string "func2 returns %d\n" .LC3: .string "func3 returns %d\n" .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $24,%esp addl $-4,%esp leal -4(%ebp),%eax pushl %eax leal -8(%ebp),%eax pushl %eax pushl $.LC0 call scanf addl $-8,%esp movl -4(%ebp),%eax pushl %eax movl -8(%ebp),%eax pushl %eax call func1 addl $32,%esp addl $-8,%esp pushl %eax pushl $.LC1 call printf addl $-8,%esp movl -4(%ebp),%eax pushl %eax movl -8(%ebp),%eax pushl %eax call func2 addl $32,%esp addl $-8,%esp pushl %eax pushl $.LC2 call printf addl $-8,%esp movl -4(%ebp),%eax pushl %eax movl -8(%ebp),%eax pushl %eax call func3 addl $32,%esp addl $-8,%esp pushl %eax pushl $.LC3 call printf xorl %eax,%eax movl %ebp,%esp popl %ebp ret .Lfe4: .size main,.Lfe4-main .ident "GCC: (GNU) 2.95.3 20010315 (release)"