	.file	"fac32.c"
	.text
	.p2align 2,,3
.globl fac
	.type	fac,@function
fac:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	movl	8(%ebp), %ebx
	testl	%ebx, %ebx
	movl	$1, %eax
	jne	.L5
.L1:
	movl	-4(%ebp), %ebx
	leave
	ret
	.p2align 2,,3
.L5:
	subl	$12, %esp
	leal	-1(%ebx), %eax
	pushl	%eax
	call	fac
	imull	%ebx, %eax
	jmp	.L1
.Lfe1:
	.size	fac,.Lfe1-fac
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"fac(%d) = %ld\n"
	.text
	.p2align 2,,3
.globl main
	.type	main,@function
main:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	pushl	%eax
	andl	$-16, %esp
	movl	$1, %ebx
	.p2align 2,,3
.L11:
	subl	$12, %esp
	pushl	%ebx
	call	fac
	addl	$12, %esp
	pushl	%eax
	pushl	%ebx
	pushl	$.LC0
	incl	%ebx
	call	printf
	addl	$16, %esp
	cmpl	$24, %ebx
	jle	.L11
	subl	$12, %esp
	pushl	$0
	call	exit
.Lfe2:
	.size	main,.Lfe2-main
	.ident	"GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"
