Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Регистры CPU i8086.doc
Скачиваний:
0
Добавлен:
20.11.2019
Размер:
67.07 Кб
Скачать

Указатель команд (инструкций)

(IPInstruction Pointer)

Хранит относительный адрес, по которому в RAM находится инструкция, следующая за исполняемой. Фактически этот регистр «следит» за ходом выполнения программы. Наращивание адреса выполняет CPU, в зависимости от длины текущей команды. Значение, хранящееся в IP, может изменяться в зависимости от структуры программы. Команды условных и безусловных переходов, циклов, вызова подпрограмм и т.д. изменяют содержимое IP, осуществляя переходы к требуемой точке команды. Разрядность регистра IP - 16 бит.

Регистры указатели

К ним относятся индексные регистры:

SI – Source (Источник)

DI – Destination (Приемник)

Используются в основном при перемещении цепочек данных (многобайтных последовательностей произвольной длины), но могут использоваться и произвольным образом. Основное их назначение – хранить индексы (смещения) относительно некоторой базы, (т.е., начала массива) при выборке операндов из памяти.

Регистр SI – регистр индекса источника (source index register). Он содержит относительный адрес начала цепочки, которую следует переместить.

Регистр DI – регистр индекса приемника (destination index register). Содержит относительный адрес, по которому нужно переместить цепочку. Число перемещаемых байт обычно хранится в регистре CX (счетчике). Кроме операций по перемещению цепочек данных, индексные регистры используют и для адресации внутри массивов числовых данных. Адрес базы при этом может находиться в базовых регистрах BX или BP (base pointer). Т.о., в этих регистрах хранится сегментная часть адреса.

Указатель стека

(SPStack Pointer)

Используется только как указатель вершины стека. В любом случае регистры BP и SP используются для указания на начало области памяти отведенной под стек, т.к. BP выступает как указатель базы при работе с данными в стековой структуре.

Сегментные регистры

Эти регистры используются только! при работе с адресами. Это важнейшие элементы в архитектуре CPU, т.к. обеспечивают 20-ти разрядную адресацию адресного пространства с помощью 16-ти разрядных операндов.

CS (Code Segment Register)

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

DS (Data Segment Register)

Регистр сегмента данных. Обычно указывает начало область памяти, отведенной под данные. В сочетании с регистрами DI, SI или BX может использоваться для доступа к определенным байтам или словам внутри области данных.

SS (Stack Segment Register)

Регистр сегмента стека. В сочетании с регистром SP указывает на текущее хранимое в стеке число. Может также использоваться и в паре с регистром BP при выполнении некоторых инструкций.

ES (Extra Segment Register)

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

Регистры данных регистры-указатели сегментные регистры

AH

AL

аккумулятор

SI

источник

CS

команд

BH

BL

базовый

DI

приемник

DS

данных

CH

CL

счетчик

BP

указ.базы

ES

дополн.дан.

DH

DL

данных

SP

указ.стека

SS

стека