Регистры общего назначения

Предусмотрены 32-разрядные регистры общего назначения EAX, EBX, ECX, EDX, ESI, EDI, EBP и ESP для хранения следующих элементов:

• Операнды для логических и арифметических операций

• Операнды для расчета адресов

• Указатели памяти

Хотя все эти регистры доступны для общего хранения операндов, результатов и указателей, следует соблюдать осторожность при обращении к регистру ESP. Регистр ESP содержит указатель стека, а общее правило не должно использоваться для других целей.

Многие инструкции назначают определенные регистры для хранения операндов. Например, строковые инструкции используют содержимое регистров ECX, ESI и EDI в качестве операндов. При использовании сегментированной модели памяти некоторые инструкции предполагают, что указатели в определенных регистрах относятся к определенным сегментам. Например, некоторые инструкции предполагают, что указатель в регистре EBX указывает на ячейку памяти в сегменте DS.

Особое использование регистров общего назначения по инструкциям описано в главе 5 «Сводка инструкций» в этом томе. См. Также: Глава 3, глава 4 и глава 5 Руководства разработчика программного обеспечения для архитектуры Intel® 64 и IA-32, тома 2A, 2B и 2C. Ниже приводится сводка специальных применений:

• EAX - Аккумулятор для данных о операндах и результатах

• EBX - указатель на данные в сегменте DS

• ECX - счетчик для операций с строкой и контуром

• EDX - указатель ввода-вывода

• ESI - указатель на данные в сегменте, на который указывает регистр DS; указатель источника для строковых операций

• EDI - указатель на данные (или получатель) в сегменте, на который указывает ES-регистр; указатель назначения для строковых операций

• ESP - указатель стека (в сегменте SS)

• EBP - указатель на данные о стеке (в сегменте SS)

Как показано на рисунке 3-5, младшие 16 бит регистров общего назначения отображаются непосредственно в набор регистров, найденный в процессорах 8086 и Intel 286, и могут быть указаны с именами AX, BX, CX, DX, BP, SI, DI и SP. На каждый из двух нижних байтов регистров EAX, EBX, ECX и EDX могут ссылаться имена AH, BH, CH и DH (высокие байты) и AL, BL, CL и DL (низкие байты).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: