/* generated by minijava+ compiler */ .section .rodata NLST: .string "\n" PRLNST: .string "%d\n" STR0: .string "2 to the 8th power is: " .global main main: push %ebp mov %esp, %ebp sub $8, %esp mov $1, %eax mov %eax, -4(%ebp) mov $8, %eax mov %eax, -8(%ebp) while0: nop mov -8(%ebp), %ebx mov $0, %eax mov $0, %ecx cmp %ebx, %eax setl %cl mov %ecx, %eax cmp $1, %eax jne endwhile0 pushl -4(%ebp) mov -4(%ebp), %ebx add %ebx, (%esp) pop %eax mov %eax, -4(%ebp) mov -8(%ebp), %eax mov $1, %ebx sub %ebx, %eax mov %eax, -8(%ebp) jmp while0 endwhile0: nop push %edi pushl $STR0 call printf add $4, %esp pop %edi push %edi pushl -4(%ebp) pushl $PRLNST call printf add $8, %esp pop %edi pushl $0 call exit