Addressing modes

All instructions, except branches, generate addresses by incrementing a program counter. All load and store instructions specify a base register.

The effective address in memory for a data value is calculated relative to the base register in one of three ways:

Loads and stores can specify an update form that reloads the base register with the computed address, unless the base register is the target register of the load.

Branches are the only instructions that explicitly specify the address of the next instruction. A branch instruction specifies the effective address of the branch target in one of the following ways: