.file "fact.c" .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "%d\n" .text .p2align 2,,3 .globl main .type main, @function main: pushl %ebp movl %esp, %ebp pushl %ebx pushl %ecx andl $-16, %esp subl $28, %esp movl 12(%ebp), %eax pushl 4(%eax) call atoi movl %eax, %ebx popl %eax popl %edx pushl %ebx pushl $.LC0 call printf addl $16, %esp testl %ebx, %ebx jne .L2 movl $1, %ecx movl %ecx, 12(%ebp) movl $.LC0, 8(%ebp) movl -4(%ebp), %ebx leave jmp printf .p2align 2,,3 .L2: movl $1, %ecx xorl %edx, %edx .p2align 2,,3 .L5: movl %ebx, %eax subl %edx, %eax imull %eax, %ecx incl %edx cmpl %edx, %ebx jne .L5 movl %ecx, 12(%ebp) movl $.LC0, 8(%ebp) movl -4(%ebp), %ebx leave jmp printf .size main, .-main .ident "GCC: (GNU) 4.0.1 20050727 (Red Hat 4.0.1-5)" .section .note.GNU-stack,"",@progbits