CIS-77 Home http://www.c-jump.com/CIS77/CIS77syllabus.htm

Controlling Program Flow


  1. Controlling Program Flow
  2. Jump Instructions
  3. Unconditional Jumps
  4. Jump with Indirect Operand
  5. Conditional Jumps
  6. Jumping Based on the Processor Flags
  7. Parity Jumps
  8. Jumps Based on Comparison of Two Values
  9. Jumps Based on Bit Settings
  10. Jumps Based on a Value of Zero
  11. Conditional Jump Limitation and Workaround
  12. Anonymous Labels
  13. Self-study: Loop Instructions

1. Controlling Program Flow


2. Jump Instructions


3. Unconditional Jumps


4. Jump with Indirect Operand


5. Conditional Jumps


6. Jumping Based on the Processor Flags


Instruction Jumps if
JC / JB / JNAE Carry flag is set
JNC / JNB / JAE Carry flag is clear
JBE / JNA Either carry or zero flag is set
JA / JNBE Carry and zero flag are clear
JE / JZ Zero flag is set
JNE / JNZ Zero flag is clear
JL / JNGE Sign flag overflow flag
JGE / JNL Sign flag = overflow flag
JLE / JNG Zero flag is set or sign overflow
JG / JNLE Zero flag is clear and sign = overflow
JS Sign flag is set
JNS Sign flag is clear
JO Overflow flag is set
JNO Overflow flag is clear
JP/JPE Parity flag is set (even parity)
JNP/JPO Parity flag is clear (odd parity)

7. Parity Jumps


8. Jumps Based on Comparison of Two Values


9. Jumps Based on Bit Settings


10. Jumps Based on a Value of Zero


11. Conditional Jump Limitation and Workaround


12. Anonymous Labels


13. Self-study: Loop Instructions