Тема 3.5. Блок внутренних регистров базового микропроцессора


Микропроцессорная память базового микропроцессора включает четырнадцать 2-байтовых запоминающих регистров.

Рис. 18 Регистровая архитектура МП 8086

Все регистры можно разделить на четыре группы:

- универсальные регистры (РОН): AX, BX, CX, DX;

- указательные и индексные регистры: SP, BP, SI, DI;

- сегментные регистры: CS, DS, SS, ES;

- регистр указателя команд IP и регистр флагов FL.

РОН служат для хранения промежуточных результатов операций, т.е. операндов. Каждый из универсальных регистров (или регистров общего назначения) может использоваться для временного хранения любых данных, при этом можно работать с каждым регистром целиком, а можно отдельно с каждой его половиной (регистры AH, BH, CH, DH – старшие байты (HIGH), а регистры AL, BL, CL, DL – младшие байты L (LOW) соответствующих 2-байтовых регистров). Но каждый из универсальных регистров может использоваться и как специальный при выполнении некоторых конкретных команд программы. Регистры общего назначения (РОН) EAX, EBX, ECX, EDX, причем каждый из них может использоваться либо как единое целое, либо только своей младшей 16-разрядной частью (AX, BX, CX, DX). В свою очередь, эти 16-разрядные части допускают независимое использование своих младших и старших половин, то есть фактически 8-разрядных регистров (AH и AL, BH и BL и т.д.). В частности:

- регистр AX – регистр-аккумулятор, через его порты осуществляется ввод-вывод данных в микропроцессор, а при выполнении операций умножения и деления AX используется для хранения первого числа, участвующего в операции (произведения, частного) после ее завершения; Если мы заносим в регистр ЕАХ значение 0x12345678, то регистр АХ будет содержать значение 0x5678 (0x56 в АН и 0x78 в AL), а значение 0x1234 будет помещено в верхнюю часть 32-разрядного регистра ЕАХ (буква Е означает Extended – расширенный, т.е AL, AH/AX/EAX - 8,8/16/32).

- регистр BX регистр-базы часто, используется для хранения адреса базы в сегменте данных и начального адреса поля памяти при работе с массивами;

- регистр CX – регистр-счетчик, используется как счетчик числа повторений при циклических операциях;

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

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

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

- регистр SP (указатель стека) – смещение вершины стека (текущего адреса стека);

- регистр BP (указатель базы) – смещение начального адреса поля памяти, непосредственно отведенного под стек;

- регистры SI (индекс источника), DI (индекс приемника) предназначены для хранения адресов индекса источника и приемника данных при операциях над строками и им подобных.

Стек — это способ организации работы с оперативной памятью по принципу LIFO (Last In - First Out), что в переводе означает: "последним вошел — первым вышел", то есть слово данных, помещенное в стек последним, будет извлечено оттуда в первую очередь. Для работы со стеком необходимо знать две величины: адрес дна и адрес вершины стека. Если адрес дна — число фиксированное, то адрес вершины зависит от того, сколько байтов данных содержится в стеке. В нашем случае адрес вершины находится в регистре SP.

Рис.20 Указательные и индексные регистры


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: