IF Statement Generation
Code for an intermediate code statement of the form (if c p1 p2) can be generated as follows:
genarith(c) # always generates cmp
jmp c .L1 # jump if c true = then
genc(p2) # "else"
jmp .L2 # jump to end
.L1:
genc(p1) # "then"
.L2: # end
The following jump table can be used:
| op | = | ≠ | < | ≤ | ≥ | > |
| c | je | jne | jl | jle | jge | jg |
| -c | jne | je | jge | jg | jl | jle |