7.1 Jumps

Jumps are the most direct method for changing program control from one location to another. At the processor level, jumps work by changing the value of the IP (Instruction Pointer) register from the address of the current instruction to a target address, by changing the CS register for far jumps, and by changing the CS register for far jumps. The many forms of the jump instructions handle jumps based on conditions, flags, and bit settings.

This section first describes unconditional jumps, including the new jump optimization features of MASM 6.0 and the use of indirect operands to specify the jump's destination and to construct jump tables. The section then discusses conditional jumps—extending jumps, jumps based on bit or flag status, anonymous jumps, labels for jump targets, and decision directives that generate conditional jumps.