[ Тематический план ] [ Режимы адресации ] [ 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 бит, тогда этот переход называется коротким.

2. Внутрисегментный косвенный. EA перехода есть содержимое регистра или ячейки памяти, которые указываются в любом режиме (кроме непосредственного) адресации данных. Содержимое IP в этом случае замещается на EA перехода.

3. Межсегментный прямой. Заменяет содержимое IP одной частью команды, а содержимое CS - другой частью команды.

4. Межсегментный косвенный. Заменяет содержимое IP и CS содержимым двух смежных слов из памяти, которые определяются в любом режиме адресации кроме непосредственного и регистрового.

Физический адрес перехода равен сумме нового содержимого IP (EA) и содержимого CS, умноженного на 16.