Регистры общего назначения (РОН)
Регистры EAX, EBX, ECX, EDX называют рабочими регистрами. Так как эти регистры физически находятся в микропроцессоре внутри арифметико-логического устройства (АЛУ), то их еще называют регистрами АЛУ:
· eax/ax/ah/al (Accumulator register) — аккумулятор. Применяется для хранения промежуточных данных. В некоторых командах использование этого регистра обязательно.
· ebx/bx/bh/bl (Base register) — базовый регистр. Применяется для хранения базового адреса некоторого объекта в памяти.
· ecx/cx/ch/cl (Count register) — регистр-счетчик. Применяется в командах, производящих некоторые повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы соответствующей команды.
К примеру, команда организации цикла loop кроме передачи управления команде, находящейся по некоторому адресу, анализирует и уменьшает на единицу значение регистра ecx/cx;
· edx/dx/dh/dl (Data register) — регистр данных. Так же, как и регистр eax/ax/ah/al, он хранит промежуточные данные. В некоторых командах его использование обязательно; для некоторых команд это происходит неявно.
РОНы используются в основном для выполнения арифметических операций и пересылки данных. Как показано на рисунке, к каждому РОНу можно обратиться как к 32-разрядному или как к 16-разрядному регистру.
К некоторым 16-разрядным регистрам можно обращаться как к двум 8-разрядным регистрам. Например, регистр EAX является 32-разрядным, однако его младшие 16-разрядов находятся в регистре АХ. Старшие 8-разрядов регистра АХ находятся в регистре АН, а младшие 8-разрядов — в регистре AL.
В таблицах показаны особенности обращения к другим регистрам общего назначения, которые мы условно назвали основными и дополнительными
Особенности использования регистров. При выполнении команд процессором часть регистров общего назначения имеют особое значение.
· Содержимое регистра ЕАХ автоматически используется при выполнении команд умножения и деления. Поскольку этот регистр обычно связан с выполнением арифметических команд, его часто называют расширенным регистром аккумулятора (extended accumulator).
· Регистр ЕСХ автоматически используется процессором в качестве счетчика цикла.
Регистры EDI, ESI - индексные регистры, используются для поддержки так называемых цепочечных операций, то есть операций, производящих последовательную обработку цепочек элементов, каждый из которых может иметь длину 32, 16 или 8 бит:
· esi/si (Source Index register) — индекс источника. Этот регистр в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;
· edi/di (Destination Index register) — индекс приемника (получателя). Этот регистр в цепочечных операциях содержит текущий адрес в цепочке-приемнике.