Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Физический адрес формируется путём суммирования смещения и содержимого сегментного регистра, которое умножается на 16



В зависимости от типа обращения к памяти производится выбор соответствующего сегментного регистра и способа определения внутрисегментного смещения (см. табл. 5).

Сумматор адресов осуществляет вычисление 20-битовых физических адресов.

Указатель команд IP хранит смещение следующей команды в текущем кодовом сегменте.

3.1.2. Режимы адресации

В коде команды можно выделить несколько групп бит, называемых полями. Поле кода операции (КОП) показывает, что должен делать компьютер, остальные поля идентифицируют информацию об адресах операндов и результат операции. Обычно, если команда бинарная, результат помещают на место одного из операндов. Для микропроцессора 8086 в бинарных операциях один из операндов помещается в любом РОН или является константой, а второй размещается либо в РОН, либо в памяти.

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

Типичные режимы адресации МП 8086 делятся на два класса:

- режимы адресации данных;

- режимы адресации переходов.

Назовём эффективным адресом ЕА- 16-битный логический адрес offset

Различают следующие режимы адресации данных:

- непосредственный;

- прямой;

- регистровый;

- регистровый косвенный;

- регистровый относительный;

- базовый индексный;

- относительный базовый индексный;

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

Пример: MOV AX, 96H.

2. Прямой: 16-битный эффективный адрес данного является частью команды.

Пример: MOV AX, Tadl,

где Tadl- символическое имя ячейки памяти;

Регистровый: данное содержится в определяемом командой одном из 8 РОН.

Пример: MOV AX, BX.

3. Регистровый косвенный: эффективный адрес операнда находится в базовом регистре BX или индексных регистрах SI, DI., определяемых командой.

Пример: MOV AX, [BX].

4. Регистровый относительный: эффективный адрес равен сумме 8 или 16-битного смещения и содержимого базового или индексного регистров. Используемые регистры: BX, BP, SI, DI.

ЕА={BX (BР), (SI), (DI)}+{8- (16)-битное смещение}

Пример: MOV AX, [BX+20h].

5. Базовый индексный: эффективный адрес равен сумме содержимого базового и индексного регистров, определяемых командой. В качестве базовых регистров используются регистры{BX, BP}, а индексными регистрами могут быть{SI, DI}

Пример: MOV AX, [BX+SI].

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

Пример: MOV AX, [BX+SI-569].

Физический адрес операнда в памяти определяется содержимым сегментного регистра, как правило, (DS)*16+ЕА.





Дата публикования: 2015-11-01; Прочитано: 699 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...