Усечение 2-байтовой переменной до 1 байта - PullRequest
2 голосов
/ 17 октября 2011

Это кажется тривиальным вопросом, но я потерялся.

В этом примере character - это 2-байтовая переменная, а регистр bx - это один байт.Я пытаюсь сделать cmp bx, [character], что явно не сработает из-за разницы в размерах.

Я пытаюсь сравнить bx только с первым байтом character.Мысли?

1 Ответ

4 голосов
/ 17 октября 2011

bx Размер регистра составляет 16 бит и состоит из двух 8-битных bl и bh !

Для 16-битного cmp вы можете использовать префикс:

cmp bx, word ptr[character]

для 8 бит bl cmp

 cmp bl, byte ptr[character]

или 8 бит чч смп

 cmp bh, byte ptr[character + 1]
...