[ Тематический план ] [ Режимы адресации ] [ 1 ]
Способ определения операнда называется режимом адресации
Режимы адресации разделяются на два класса:
1. Режимы адресации данных.
2. Режимы адресации переходов.
Режимы адресации данных
1. Непосредственный . Данные длиной 8 или 16 бит являются частью команды.
2. Прямой . 16-битный эффективный адрес данного является частью
команды.

3. Регистровый . Данное содержится в определяемом командой регистре,
т.е. 16-битный операнд может находиться в регистрах
ax,bx,cx,dx,si,di,sp,bp, а восьмибитный - в регистрах
al,bl,cl,dl,ah,bh,ch,dh.

4. Регистровый косвенный . Эффективный адрес данного находится в
базовом регистре bx или индексном регистре, определяемом командой.

5. Регистровый относительный . Относительный EA равен сумме 8 и
16-битового смещения и содержимого базового или индексного регистра.

6. Базовый индексный. EA равен сумме содержимого базового и
индексного регистров, определяемых командой.

7. Относительный базовый индексный . EA равен сумме 8 или 16-битного
смещения и базового индексного адреса.

Предположим, что (ВХ) = 0158, (DI) = 10А5. смещение = 1В57, (DS) = = 2100 и что в качестве сегментного регистра применяется DS. Тогда различные режимы адресации дают следующие эффективные и физические адреса;
Прямой: ЕА=1В57,
Физический адрес = 1В57 + 21000 = 22B5 7.
Регистровый: ЕА нет — данное в указанном регистре.
Регистровый косвенный (с участием регистра ВХ) :
ЕА=0158,
Физический адрес = 0158 + 21000 = 21158.
Регистровый относительный (с участием регистра ВХ) :
ЕА=0158+ 1B57=1CAF;
Физический адрес = 1CAF + 21000 = 22CAF.
Базовый индексный (с участием регистров ВХ и DI):
ЕА=0158+10A5=11FD,
Физический адрес = 11 FD + 21000 = 221 FD.
Относительный базовый индексный (с участием регистров ВХ и DI) :
ЕА=0158+10А5+1B57=2D54,
Физический адрес = 2D54 + 21000 = 23D54.
Режимы адресации переходов
1. Внутрисегментный прямой. EA перехода равен сумме 8 или 16-битного смещения и содержимного регистра IP. Когда смещение имеет длину 8 бит, тогда этот переход называется коротким.


