[ЭКЗАМЕН 03] Процессор 8086. Разрядность. Регистры. - mRrvz/bmstu-asm GitHub Wiki

Процессор 8086

8086

Разрядность

Разрядность: 16 бит.

Регистры

Всего в 8086 14 регистров.

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

Каждый из регистров имеет старшую и младшую часть, по 1 байту на каждый.

Индексные регистры: SI, DI

Используются для индексации.

Сегментные регистры: CS (code segment), SS (stack segment), DS (data segment), ES (extra segment).

Каждый сегментный регистр определяет адрес начала сегмента в памяти, при этом сегменты могут совпадать или пересекаться. По умолчанию регистр CS используется при выборке инструкций, регистр SS при выполнении операций со стеком, регистры DS и ES при обращении к данным.

Указатель команды: IP.

Этот регистр, содержит адрес-смещение следующей команды, относительно сегмента CS. Связан с CS как CS:IP
Предположим, что в CS хранится адрес 2CB5H, а в регистре IP хранится смещение 123H. Таким образом, адрес следующей команды 2CB50H + 123H = 2CC73H.

Регистр флагов: FLAGS.

Внутри используют не все 16 бит. Каждый флаг - один бит.

Регистры для работы со стеком: SP и BP

SP - stack pointer, BP - base pointer. SP всегда указывает на вершину стека (то есть при операциях PUSH он уменьшается на переданный размер (стек растет вниз), а при POP - увеличивается). Регистр BP обычно тоже указывает на какое-то место в стеке - с его помощью адресуют локальные переменные, например, MOV AX, [BP+4]

Следующий вопрос: Процессор 8086. Регистр флагов.

Предыдущий вопрос: Структурная схема ЭВМ. Виды памяти. Системная шина.