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

Универсальные регистры

Микропроцессорная память

Микропроцессорная память (МПП) базового МП 8088 включает в себя 14 двух­байтовых запоминающих регистров. У МП 80286 и выше имеются дополнитель­ные регистры, например, у МП типа VLIW есть 256 регистров, из которых 128 — регистры общего назначения. У МП 80386 и выше некоторые регистры, в том числе и регистры общего назначения, — 4-байтовые (у МП Pentium есть и вось­мибайтовые регистры). Но в качестве базовой модели, в частности для языка программирования ассемблер и отладчика программ Debug, используется 14-ре-гистровая система МПП. Все регистры можно разделить на 4 группы:

* универсальные регистры: АХ, ВХ, СХ, DX;

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

* регистры смещения: IP, SP, BP, SI, DI;

* регистр флагов: FL.

Если регистры 4-байтовые или 8-байтовые, их имена несколько изменяются, на­пример 4-байтовые универсальные регистры АХ, ВХ, СХ, DX именуются соот­ветственно ЕАХ, ЕВХ, ЕСХ, EDX. При этом если используется их двухбайтовая или однобайтовая часть, наименования этих частей регистров соответствуют рассматриваемым ниже.

Регистры АХ, ВХ, СХ и DX являются универсальными (их часто называют ре­гистрами общего назначения — РОН); каждый из них может использоваться для временного хранения любых данных, при этом позволено работать с каждым регистром целиком, а можно отдельно и с каждой его половиной (регистры АН, ВН, СН, DH — старшие (High) байты, а регистры AL, BL, CL, DL — младшие (Low) байты соответствующих 2-байтовых регистров). Но каждый из универ­сальных регистров может использоваться и как специальный при выполнении некоторых конкретных команд программы. В частности:

□ регистр АХ — регистр-аккумулятор, через его порты осуществляется ввод-вывод данных в МП, а при выполнении операций умножения и деления АХ используется для хранения первого числа, участвующего в операции (множи­мого, делимого), и результата операции (произведения, частного) после ее за­вершения;

□ регистр ВХ часто используется для хранения адреса базы в сегменте данных и начального адреса поля памяти при работе с массивами;

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

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

Регистры сегментной адресации CS, DS, SS, ES используются для хранения на­чальных адресов полей памяти (сегментов), отведенных в программах для хра­нения1:

□ команд программы (сегмент кода — CS);

□ данных (сегмент данных — DS);

□ стековой области памяти (сегмент стека — SS);

□ дополнительной области памяти данных при межсегментных пересылках (рас­ширенный сегмент — ES), поскольку размер сегмента в реальном режиме рабо­ты МП ограничен величиной 64 Кбайт.