.file "p1.c" .text .globl factorial .type factorial,@function factorial: pushl %ebp movl %esp, %ebp movl $0, %eax leave ret .Lfe1: .size factorial,.Lfe1-factorial .section .rodata .LC0: .string "%d! = %d\n" .align 32 .LC1: .string "You have to give me a number!\n" .text .globl main .type main,@function main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax subl %eax, %esp cmpl $1, 8(%ebp) jle .L3 subl $12, %esp movl 12(%ebp), %eax addl $4, %eax pushl (%eax) call atoi addl $16, %esp movl %eax, -4(%ebp) subl $4, %esp subl $8, %esp pushl -4(%ebp) call factorial addl $12, %esp pushl %eax pushl -4(%ebp) pushl $.LC0 call printf addl $16, %esp jmp .L4 .L3: subl $12, %esp pushl $.LC1 call printf addl $16, %esp .L4: movl $1, %eax leave ret .Lfe2: .size main,.Lfe2-main .ident "GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"