Подтвердить что ты не робот

Что означает X в EAX, EBX, ECX... в сборке?

Google не показывает результат,

Кто-нибудь знает?

4b9b3361

Ответ 1

X означает пара и возвращается к по меньшей мере 8080. Он имел 8-битные регистры B, C, D, E, H, L (среди прочих), которые также могут быть использованы в парах (BC, DE и HL). Группы BC и DE использовались в основном для 16-разрядной арифметики; пара HL обычно содержала адрес памяти. Некоторые примеры использования X для пары :

LXI  D,12ABH    ; "load pair immediate"
DCX  B          ; "decrement pair"
STAX D          ; "store A (indirect) at pair"

Ускоренная пересылка на 8086. Она имеет регистры AL, AH, BL, BH, CL, CH, DL, DH, которые, подобно 8080, могут использоваться парами: AX, BX, CX, DX.

Как указывали другие, E в 32-битных именах регистров означает расширенный.

Ответ 2

Ничего, насколько я знаю. Он обозначает регистр общего назначения.

16-разрядный регистр AX может быть рассмотрен как AH (старший байт) и AL (младший байт).

Регистр EAX - это 32-разрядная версия регистра AX. E обозначает расширенный.

Ответ 3

В 8086 регистр AX был комбинацией AH и AL. Аналогично, BX был BH, BL и т.д. На 80386, вместо объединения 16-разрядных регистров в 32-битные регистры, Intel добавила 16 бит к каждому регистру. Имя "AL" по-прежнему относится к битам 0-7 первого буквенно-именного регистра "AH" к битам 8-15 и "AX" к битам 0-15; имя "EAX" теперь относится ко всем 32 битам регистра.

Интересно отметить, что большинство других 16- и 32-разрядных процессоров не предлагают никаких эквивалентных средств доступа только к верхней или нижней части регистра. Затраты на предоставление такого доступа, как в сложности аппаратного обеспечения, так и в битах кодирования команд, были значительными, а сегодня и днем ​​способность добавлять одну 8-битную часть регистра в 8-разрядную часть другого регистра далеко менее полезен, чем многие другие применения, к которым может быть добавлено такое оборудование или пространство для кодирования команд. С другой стороны, еще есть моменты, когда такие способности могут быть полезны, когда они существуют.

Ответ 4

Как говорит Михай, это просто соглашение об именах.

Однако, учитывая, что "X" часто используется для "заполнения вашего значения" и обычно используется математиками в качестве первого имени переменной выбора в уравнениях и что эти конкретные регистры являются общими целями (в отличие от ESP который является расширенным (32-разрядным) указателем стека или EIP - указателем расширенной инструкции), возможно, именно поэтому X выбран в отличие от "B".

Ответ 5

Одна возможная причина, о которой я могу думать, означает, что она не имеет "нормального" состояния. Когда речь идет о последовательной связи в электронике, если одна из строк данных может быть чем угодно, вы можете сказать, что ее состояние равно X, так как оно не является ни тем, ни другим. 0 или 1.