.file "fact3.s" .section .rodata .STR0: .string "The factorial of 6 is %d\n " .text .globl main main: pushl %ebp movl %esp, %ebp addl $-16, %esp movl $6, %ebx movl $1, %ecx WHILE1: movl $1, %edx cmp %ebx, %edx jge WHILEXIT1 imul %ebx, %ecx subl $1, %ebx jmp WHILE1 WHILEXIT1: pushl %esi pushl %ebx pushl %ecx addl $-16, %esp movl $.STR0, (%esp) movl %ecx, 4(%esp) call printf addl $16, %esp popl %ecx popl %ebx popl %esi movl $0, %eax movl %ebp, %esp popl %ebp ret /* Sample code generated from fact3.mj with more optimization. */