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