Addressing Modes of 80286 Microprocessor:
The 80286 has eight addressing modes for instructions to access operands from memory. The eight different Addressing Modes of 80286 Microprocessor are as follows:
- Register operand mode
- Immediate operand
- Direct mode
- Register indirect mode
- Based mode
- Indexed mode
- Based indexed mode
- Based indexed mode with displacement
The first two operating modes are related with the register and immediate operands. The remaining six modes are provided to specify the location of an operand in a memory segment. A memory operand address consists of two 16-bit components, namely, segment selector and offset. The segment selector is supplied by a segment register either implicitly chosen by a segment override prefixes. The offset is determined by summing any combination of the following three address elements.
- The displacement (8- or 16-bit immediate value)
- The base (content of the BX or BP)
- Any carry out from the 16-bit addition is ignored; eight-bit displacements are sign extended to 16-bit values
Combinations of these three address elements define the six memory addressing modes. All above Addressing Modes of 80286 Microprocessor are explained in this section.
Register Operand Mode In this mode, the operand is located in one of the 8- or 16-bit general-purpose registers.
Immediate Operand Mode In immediate operand mode, the operand is included in the instruction itself.
Direct Mode In direct addressing mode, the operand’s offset is containing in the instruction as an 8- or 16-bit immediate displacement.
Register Indirect Mode In register indirect addressing mode, the operand’s offset is stored in one of the general-purpose registers or in SI, DI, BX or BP.
Based Mode In this mode, the operand’s offset is computed after adding an 8- or 16-hit displacement with the contents of a base register (BX or BP).
Indexed Mode In index addressing mode, the offset is determined by adding a displacement with the contents of an index register (SI or DI).
Based Indexed Mode In this mode, the operand’s offset is calculated by the sum of the contents of a base register and an index register.
Based Indexed Mode With Displacement In based indexed with displacement addressing mode, the operands offset is obtained by adding an 8-bit or 16-bit immediate displacement with contents of a base register and an index register.