Intel 80C186EA User Manual page 59

Hide thumbs Also See for 80C186EA:
Table of Contents

Advertisement

OVERVIEW OF THE 80C186 FAMILY ARCHITECTURE
The BX or BP register can be specified as the base register for an effective address calculation.
Similarly, either the SI or the DI register can be specified as the index register. The displacement
value is a constant. The contents of the base and index registers can change during execution. This
allows one instruction to access different memory locations depending upon the current values in
the base or base and index registers. The default base register for effective address calculations
with the BP register is SS, although DS or ES can be specified.
Direct addressing is the simplest memory addressing mode (see Figure 2-13). No registers are in-
volved, and the effective address is taken directly from the displacement of the instruction. Pro-
grammers typically use direct addressing to access scalar variables.
With register indirect addressing, the effective address of a memory operand can be taken directly
from one of the base or index registers (see Figure 2-14). One instruction can operate on various
memory locations if the base or index register is updated accordingly. Any 16-bit general register
can be used for register indirect addressing with the JMP or CALL instructions.
In based addressing, the effective address is the sum of a displacement value and the contents of
the BX or BP register (see Figure 2-15). Specifying the BP register as a base register directs the
Bus Interface Unit to obtain the operand from the current stack segment (unless a segment over-
ride prefix is present). This makes based addressing with the BP register a convenient way to ac-
cess stack data.
Opcode
Mod R/M
Displacement
EA
A1016-0A
Figure 2-13. Direct Addressing
2-30

Advertisement

Table of Contents
loading

This manual is also suitable for:

80c188ea

Table of Contents