Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры Схемотехника.doc
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
14.02 Mб
Скачать

2.4. Способы адресации

Способ определения операнда называется режимом, или способом, адресации.

Рассмотрим основные способы адресации 16-разрядных микропроцессоров. Наиболее простой, но в тоже время неэкономичной является прямая адресация: в поле операнда содержится полный 16-битный адрес памяти.

При непосредственной адресации 8- или 16-битный операнд является частью команды.

При использовании регистровой адресации значением операнда является содержимое адресуемого в команде РОН.

Регистрово-косвенная адресация позволяет адресовать все пространство памяти МП. В этом режиме поле операнда определяет не регистр с данными, а указатель памяти, содержащий адрес операнда. В МП К580 серии основным указателем памяти служат регистры НL-пары, в командах загрузки и запоминания аккумулятора в качестве указателей памяти могут применяться ВС- и DE-пары.

Для 16-разрядного МП ВМ86 различают следующие способы адресации:

- непосредственный, данное длиной 8 или 16 бит является частью команды;

- прямой, 16-разрядный эффективный адрес данного является частью команды;

- регистровый, данное содержится в определяемом командой регистре. Операнд 16-разрядный может находиться в регистрах АХ, ВХ, СХ, DХ, SI, DI, SP, BP, a 8-разрядный - в регистрах AL, AH, BL, BH, CL, CH, DL, DH;

- регистрово-косвенный, эффективный адрес данного находится в базовом регистре ВХ или в регистре, определяемом командой

(ВХ)

ЕА = (SI)

(DI)

- регистровый относительный, эффективный адрес равен сумме 8- или 16-разрядного смещения и содержимого базового или индексного регистров

(ВХ) 8- разрядное смещение

ЕА = (ВР) +

(SI) 16- разрядное смещение

(DI)

- базовый индексный, эффективный адрес равен сумме содержимого базового и индексного регистров, определяемых командой

(ВХ) (SI)

ЕА = (ВР) + (DI)

- относительный базовый индексный, эффективный адрес равен сумме 8- или 16- разрядного смещения и базово-индексного адреса

(ВХ) (SI) 8- разрядное

ЕА = (ВР) + (DI) + 16- разрядное

Кратко рассмотрим способы адресации переходов:

- внутрисегментный прямой, эффективный адрес перехода равен сумме 8- или 16-разрядного смещения и текущего содержимого IP. Когда смещение имеет длину 8 бит, этот режим называется коротким переходом. Внутрисегментную прямую адресацию большинство авторов называют относительной адресацией, так как смещение вычисляется "относительно" IP. Этот режим допустим в условных и безусловных переходах, но в команде условного перехода может быть только смещение длиной 8 бит;

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

- межсегментный прямой, заменяет содержимое IP одной частью команды, а содержимое CS - другой частью команды. Назначение данного режима адресации - обеспечить переход из одного сегмента кода в другой;

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