created: 07/18/01; small edits: 10/20/01, 02/22/03, 06/26/03

# CHAPTER 17 — Jump and Branch Instructions

The power of computers is their ability to repeat actions and their ability to alter their operation depending on data. Modern programming languages express these abilities using control structures. Repeated action (iteration) is done with a `while` structure. Altered operation (alteration) is done with an `if-then-else` structure.

The machine instructions of the processor do not have these structures. Assembly language does not have these structures. When you program in assembly language you must build these structures out of basic assembly instructions. These basic instructions are the jump instructions and the conditional branch instructions.

#### Chapter Topics:

- Jump Instruction:
  - `j` instruction (jump)
- Conditional Branch Instructions:
  - `beq` instruction (branch equal)
  - `bne` instruction (branch not equal)

### QUESTION 1:

When a program is executing, does each machine instruction have an address in main memory?