регистр eax



Автор Коля Москалёв задал вопрос в разделе Другие языки и технологии

Ассемблер, регистры процессора и получил лучший ответ

Ответ от Миоко Таканава[гуру]
Младшая половина регистра EAX - это AX.
Младший байт EAX - это AL.
Второй справа байт EAX - это AH (разряды 15 ...8).
Напрямую к старшей половине EAX обратиться нельзя, так как в системе команд процессора такая адресация не предусмотрена. Только с помощью сдвига на 16 бит вправо или через ОЗУ обращением со смещением в 2 байта.
Аналогично в 64-разрядном процессоре:
EAX - это младшая половина регистра RAX. К старшей половине тоже нельзя обратиться напрямую.
В новых 64-разрядных регистрах, например для регистра R8:
R8B - это младший байт регистра R8;
R8W - это младшее слово (два младших байта) регистра R8;
R8D - это младшая половина регистра R8.
Аналога AH (второго справа байта) у новых регистров нет.
Миоко Таканава
(51022)
Умножением - это не по-ассемблерному. Это делается логическим сдвигом.
Например, записать в EAX число 12345678h:
mov ax, 1234h
shl eax, 16
mov ax, 5678h
теперь в eax 12345678h.

Ответ от Костя 777[новичек]
Кроме сдвигов или прямой адресации в памяти существует ещё один, достаточно элегантный, способ обращения к старшему слову регистров - с помощью команды bswap.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Ассемблер, регистры процессора
Регистр процессора на Википедии
Посмотрите статью на википедии про Регистр процессора
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*