rendered paste body .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