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

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

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

21
задан Peter Cordes 25 November 2016 в 22:04
поделиться

4 ответа

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

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

1
ответ дан 29 November 2019 в 20:06
поделиться

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

0
ответ дан 29 November 2019 в 20:06
поделиться

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

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

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

9
ответ дан 29 November 2019 в 20:06
поделиться

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-битных регистров означает расширенный .

34
ответ дан 29 November 2019 в 20:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: