Скачиваний:
25
Добавлен:
15.06.2014
Размер:
27.14 Кб
Скачать

Регистры

Регистры делятся на пять категорий:

  • Регистры общего назначения (AX, BX, CX, DX)

  • Регистровые указатели и индексные регистры (SP, BP, SI, DI)

  • Сегментные регистры (CS, DS, SS, ES)

  • Регистр командного указателя (IP)

  • Флаги (OF, DF, IF, TF, SF, ZF, AF, PF, CF)

Все регистры 8086 являются 16-битовыми. Кроме того, четыре регистра общего назначения — AX, BX, CX, DX — разделены на старшую и младшую 8-битовые половины. Например, 16-битовый регистр AX состоит из двух 8-битовых частей — AH и AL. Регистр BX разделен на BH и BL, CX — на CH и CL, DX — на DH и DL.

Регистры общего назначения

Программы на языке ассемблера обращаются к регистрам, используя их символические имена— AX, CL, DS и подобные им. Но, кроме того, регистры имеют также и другие назва­ния. (Хотя эти названия никогда не используются непосредственно в программах.) В регистре-сумматоре AX обычно содержат результаты сложения, вычитания и т.п. Базовый регистр BX часто указывает на начальный адрес (называемый базой) структуры в памяти. Счетчик CX определяет количество повторов некоторой операции. Регистр данных DX чаще всего содержит данные, передаваемые для обработки в подпрограммы. Использовать их именно так не обязательно. Однако в ряде случаев некоторые команды процессора 8086 требуют строго определенных регистров.

Регистровые указатели и индексные регистры

Указатель стека SP всегда указывает на вершину стека процессора.

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

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

Четыре сегментных регистра — CS (code segment), DS (data segment), SS (stack segment), ES (extra segment) — определяют в памяти начала четырех 64 Кбайтовых сегментов.

Сегментные регистры являются строго специализированными. Вы не мо­жете выполнять над ними математические вычисления или хранить в них ре­зультаты других операции. Регистр сегмента кода CS указывает в памяти на начало машинного кода программы. Регистр сегмента данных DS содержит начальный адрес переменных программы. Регистр сегмента стека SS опреде­ляет начало стекового пространства. Дополнительный сегментный регистр ES является вспомогательным, и может упрощать некоторые опера­ции, связанные с сегментными регистрами.

Регистр командного указателя.

Специальный регистр командного указателя IP (instruction pointer) указывает на следующую исполняемую машинную команду от­носительно определенного в CS сегмента. Для его изменения используются команды перехода.

Соседние файлы в папке Ответы на билеты