Регистры процессора Intel 8086
МП 8086 содержит три группы регистров. К первой группе относятся РОН, используемые для хранения промежуточных результатов. Ко второй группе относятся указатели и индексные регистры, предназначенные для размещения или извлечения данных из выбранного сегмента памяти. Содержание этих регистров определяет значение смещения в сегменте при задании логического адреса. К третьей группе относятся регистры сегментов, задающие начальные адреса (базы) самих сегментов памяти. МП имеет регистр флаговых разрядов, используемых для указания состояния АЛУ при выполнении различных команд и управления его работой.
Таким образом в МП располагается тринадцать 16-разрядных регистров и девять флаговых разрядов АЛУ. Последний, тринадцатый регистр, называется указателем команд IP (Instruction Pointer), выполняет функции, аналогичные функциям программного счетчика в МП КР580ИК80 и не является программно доступным регистром. Доступ к его содержимому может быть осуществлен с помощью команд передачи управления.
Группа РОН включает в себя семь 8-разрядных регистров МП КР580ИК80 и один добавленный 8-разрядный регистр для того, чтобы объединить все регистры в четыре 16-разрядные пары (рисунок 6.3). К ним может быть организован программный доступ как к 8- или 16-разрядным регистрам. 16-разрядные регистры обозначаются AX, BX, CX и т.д. При обращении к ним, как к 8-разрядным регистрам, их обозначают AL, AH, BL, BH и т.д. Все эти регистры могут быть использованы при выполнении арифметических и логических команд. Однако, есть команды, использующие определенные регистры для специфических целей, тогда применяют мнемонические обозначения: аккумулятор (accumulator), база (base), счет (count), данные (data).
Группа указателей и индексных регистров состоит из четырех 16-разрядных регистров.
Регистры указатели: SP (Stack Pointer); BP (Base Pointer).
Индексные регистры: SI (Source index); DI (Destination index).
Рисунок 6.3 - Регистры процессоров 8080 и 8086 |
Обычно эти регистры содержат информацию о смещении по адресам в выбранном сегменте и позволяют компактно писать программы каждый раз непосредственно, не приводя используемого адреса. С их помощью производится вычисление адресов программ. Чаще всего в регистрах указателях записано адресное смещение по отношению к стековому сегменту, а в индексных регистрах – адресное смещение по отношению к сегменту данных.
Группа регистров сегментов состоит из четырех 16-разрядных регистров: CS; SS;DS и ES. Извлечение кодов команд производится из сегментов текущего кода с использованием адресного смещения, задаваемого указателем команд IP. Сегмент для извлечения операндов команды обычно указывается путем записи специального однобайтового префикса перед командой. Префикс имеет специальную кодировку, позволяющую МП отличить его от кода команды.
Регистр состояния (Флаговый регистр) содержит шестнадцать триггеров, из которых используется только 9. Эти триггеры отображают состояние процессора при выполнении последней арифметической или логической команды. Пять триггеров аналогичны МП 580-й серии. Дополнительные триггеры сигнализируют:
OVERFLOW – переполнение (при выполнении операций с числами МП имеет дополнительные флаги управления;
DIRECTION – направление – указывает направление работы с массивами (автоматическое увеличение или уменьшение на единицу адреса массива);
INTERRUPT – прерывание – определяет для МП возможность реагирования на прерывание;
TRAP – (западня, ловушка) устанавливает для МП пошаговый режим.
Кроме основных функций, соответствующих названию регистров, общие регистры выполняют специальные функции, указанные в таблице 5.2.
Таблица 5.2.
Регистр | Название | Специальная функция регистра |
AX | Аккумулятор | Умножение, деление, ввод-вывод слов |
AL | Аккумулятор - младший байт | Умножение, деление, ввод-вывод байтов, преобразование байтов, десятичная арифметика |
AH | Аккумулятор - старший байт | Умножение и деление слов |
BX | Базовый регистр | Адресация по базе; преобразование адресов |
CX | Счетчик | Подсчет циклов; подсчет элементов цепочек |
CL | Счетчик (младший байт) | Реализация параметрических сдвигов |
DX | Регистр данных | Умножение и деление слов; косвенный ввод-вывод |
SP | Указатель стека | Операции с использованием стека |
BP | Указатель базы | Базовый регистр |
SI | Индекс источника | Указатель цепочки-источника, индекс, регистр |
DI | Индекс приемника | Указатель цепочки-приемника, индексный регистр |
Для задания режима работы используется вывод . Подача на этот вход напряжения +5 В указывает на то, что в МПС имеется лишь одна БИС МП (минимальная конфигурация системы). При этом МП вырабатывает на своих электродах все необходимые управляющие сигналы для связи с памятью и периферийными устройствами. При максимальной конфигурации МПС =0. МП выдает дополнительно на три вывода, подсоединяемые к контроллеру магистралей, управляющие сигналы.
- (запрет на пользование магистралями) – информирует устройства системы, что они не должны пытаться запрашивать шину.
|
-
При работе максимальной конфигурации МП выдает восемь сигналов состояния процессора (ST0-ST7), которые могут использоваться внешними устройствами.
ST2 ST1 ST0 - указывают тип машинного цикла
0 0 0 Обслуживание прерываний
0 0 1 Чтение внешних устройств
0 1 0 Запись во внешние устройства
0 1 1 Останов
1 0 0 Извлечение кода команд
1 0 1 Чтение памяти
1 1 0 Запись в память
1 1 1 Не используется
Выводы ST3 и ST4 указывают на тип регистра сегментов, используемых при
вычислении физического адреса.
0 0 ES
0 1 SS
1 0 CS (или никакой)
1 1 DS
Выводы QS0 QS1 Выполняется текущая операция с конвейером команд.
0 0 Нет операции
0 1 Извлекается первый байт команды из конвейера
1 0 Конвейер очищается
1 1 Очередной байт извлекается из конвейера
WAIT – ожидание; HLD – прямой доступ в память (запрос).
Дата добавления: 2016-02-09; просмотров: 4251;