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

Эти регистры используются практически без ограничений в арифметических и логических операциях (хотя иногда и могут иметь жесткое функциональное назначение). Также они могут использоваться в качестве компонентов адреса каких-либо данных в памяти.

Регистр-аккумулятор (AX|AH|AL) (Accumulator register).

Основной регистр, который применяется для хранения промежуточных данных и выполнения арифметических и логических операций. Некоторые команды генерируют более эффективный код, если они имеют ссылки на регистр АХ.

Базовый регистр (BX|BH|BL) (Base register).

Используется при выполнении арифметических и логических операций и при адресации объектов в памяти.

Регистр-счетчик (CX|CH|CL) (Counter register).

Используется при выполнении арифметических и логических операций и как счетчик цикла.

Регистр данных (DX|DH|DL) (Data register).

Основное назначение заключается в хранении промежуточных данных.

Каждый из этих регистров поделен на две части по восемь бит (см. рис.2.3), с которыми можно работать как с независимыми 8-битными регистрами (AH, AL, BH, BL, CH, CL, DH, DL). Младшие части регистров имеют в названии букву L (от англ. слова Low – младший), а старшие H (от англ. слова High – старший).

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

Индекс источника (SI) (Source Index register).

Содержит индекс источника (текущий адрес элемента в массиве или цепочке источнике). Часто используется в паре с регистром DS при операциях над цепочками.

Индекс приемника (DI) (Destination Index register).

Содержит индекс приемника (получателя) (текущий адрес элемента в массиве или цепочке приемнике). Часто используется в паре с регистром ES при операциях над цепочками.

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

Регистр указателя стека (SP) (Stack Pointer register).

Содержит указатель вершины стека в текущем сегменте стека.

Регистр указателя базы кадра стека BP (Base Pointer register).

Предназначен для организации произвольного доступа к данным внутри стека.

Регистры BX, SI, DI и BP часто используются для косвенной адресации (модификация адреса), когда операнд берется из памяти по адресу, рассчитанному через регистр.