7.6. Control Flow
Conditional jumps use Condition and a polarity flag:
#check Condition.Z -- Zero/Equal (ZF=1)
#check Condition.B -- Below/Carry (CF=1)
#check Condition.S -- Sign (SF=1)
#check Condition.O -- Overflow (OF=1)
#check Condition.L -- Less (signed: SF≠OF)
#check Condition.LE -- Less or Equal (signed)
#check Condition.BE -- Below or Equal (unsigned)
#check Instr.JCCrel Condition.Z true
-- JNZ label (jump if not zero, polarity=false inverts)
#check Instr.JCCrel Condition.Z false
-- JMP label (unconditional jump)
#check Instr.JMPrel
-- CALL label (procedure call)
#check Instr.CALLrel
-- RET (return from procedure)
#check Instr.RETOP 0
-- RET 8 (pop 8 extra bytes before return)
#check Instr.RETOP 8