Какие вы приёмы знаете для работы с верхними словами 32битных регистров? - Assembler
Формулировка задачи:
Я знаю можно из памяти переслать в верхнюю часть EAX типа mov ea,memory1 пиша mov eax,0ffff0000h затем and eax,dword ptr [memory1-2]
А есть ли способ скопировать в EA из AX(про регистр eax) кроме shl eax,16 или копирования через другой регистр?
Можно ли что-то вроде or ea,ax?
Может на уровне машинных кодов есть что-то подобное?
Решение задачи: «Какие вы приёмы знаете для работы с верхними словами 32битных регистров?»
textual
Листинг программы
push eax and word[sp-2],0
Объяснение кода листинга программы
push eax
- в начале кода происходит сохранение регистра eax в стеке.and word[sp-2],0
- после этого происходит операция AND над словом, которое находится по смещению -2 от стека (sp-2), и значение этого слова принудительно сбрасывается до 0.