Сборка x86 получает один байт из 32-битного регистра

Я программирую на ассемблере x86 и обнаружил одну проблему. Я вызываю функцию C getch, чтобы получить один символ из стандартного ввода. Но проблема в том, что возвращаемое значение хранится в регистре EAX. И я хочу знать, как получить один символ. Не 4-байтовое значение. Спасибо.


person Smax Smaxović    schedule 15.10.2013    source источник
comment
Что вы хотите с этим делать? Очень часто на наличие лишних битов можно просто не обращать внимания.   -  person harold    schedule 15.10.2013
comment
Примечание. getch() обычно возвращает 1 из 256+1 различных значений. Трудно вписаться в один char.   -  person chux - Reinstate Monica    schedule 15.10.2013


Ответы (1)


вы можете использовать однобайтовую часть EAX, которая равна AL

mov [MEMORY], al

AL — младший байт регистра AX. Вы также можете использовать AH - СТАРШИЙ байт AX

person Mikhail Krayushkin    schedule 15.10.2013