Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_lek_OAiP_Meleshko.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
377.68 Кб
Скачать

Набор регистров

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

Первые модели микропроцессоров i8086/8088 имели 14 16-разрядных регистров. Далее, начиная с i386, регистры были расширены до 32-разрядных. А последние модели (Pentium и др.) содержит гораздо большее число регистров, большинство из них 64-разрядные. Но в современных микропроцессорах можно выделить часть, предназначенную для использования в реальном режиме и практически соответствующую процессору i8086. Именно эту часть мы и будем рассматривать далее.

Регистры делятся на регистры общего назначения, сегментные регистры и регистры состояния и управления.

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

Данная группа регистров являются основными рабочими регистрами ассемблерных программ. Их можно разделить на группы:

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

AX

AH

AL

BX

BH

BL

CX

CH

CL

DX

DH

DL

15 8

7 0

SI

DI

SP

BP

15

0

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

AX (AH/AL) – регистр-аккумулятор (Accumulator). Используется во всех операциях ввода-вывода, в некоторых операциях со строками и арифметических операциях. Некоторые команды (например, умножение и деление) предполагают обязательное использование данного регистра.

BX (BH/BL) – базовый регистр (Base register). Используется в индексной адресации, а также при вычислениях.

CX (CH/CL) – регистр-счётчик (Count register). Используется для управления числом повторений циклов и для операций сдвига влево и вправо. Может быть использован для вычислений.

DX (DH/DL) – регистр данных (Data register). Используется в некоторых операциях ввода-вывода, в операциях умножения и деления совместно с регистром ax.

  • регистры индексов

SI – регистр индекса источника (Source Index). Обычно используется в паре ds:si для выполнения операций над строками и массивами.

DI – регистр индекса приёмника (Destination Index). Пара ds:di также используется в строковых операциях и содержит адрес в строке-приёмнике.

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

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

SP – регистр указателя стека (Stack Pointer). Регистр всегда показывает на вершину стека, т.е. на смещение последнего элемента в стеке, или в паре ss:sp – на адрес этого элемента.

BP – регистр указателя (Base Pointer). Предназначен для организации произвольного доступа к данным внутри стека. Может также применяться для расширения индексной адресации и в операциях сложения и вычитания

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]