[ЭКЗАМЕН 03] Процессор 8086. Разрядность. Регистры. - mRrvz/bmstu-asm GitHub Wiki
Процессор 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. Регистр флагов.
Предыдущий вопрос: Структурная схема ЭВМ. Виды памяти. Системная шина.