Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. Addressing modes define how the machine language instructions in that architecture identify the operand(s) of each instruction. An addressing mode specifies how to calculate the effective memory address of an operand by using information held in registers and/or constants contained within a machine instruction or elsewhere.
This article is about addressing fields in instructions. For IBM addressing bits in the PSW, see IBM System/370-XA § 31-bit virtual addressing, and z/Architecture § Addressing modes. For IBM translation mode bits in the PSW, see z/Architecture § Translation modes.
In computer programming, addressing modes are primarily of interest to those who write in assembly languages and to compiler writers. For a related concept see which deals with the ability of any instruction to use any addressing mode.