sumFirst: sumFirst: pushl %ebp movl %esp, %ebp subl $16, %esp movl $0, -4(%ebp) sum = 0 jmp .L2 goto L2 .L3: L3: movl 8(%ebp), %eax reg1 = n addl %eax, -4(%ebp) sum = sum + reg1 subl $1, 8(%ebp) n = n - 1 .L2: L2: cmpl $0, 8(%ebp) [compare 0, n] jg .L3 if(n > 0) goto L3 movl -4(%ebp), %eax reg1 = sum leave ret return