Quiz 1
Consider the following x86 (32-bit) assembly function.
foo:
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %eax
movl 12(%ebp), %edx
subl %eax, %edx
addl %edx, %eax
testl $1, %edx # HINT: testl computes (edx & 1) and updates %eflags
jne l2 # HINT: Jump if zero flag is not set
l1:
addl $10, %eax
jmp done
l2:
subl $10, %eax
done:
popl %ebp
ret