<<
и >>
предназначены для использования только с целочисленными константами. Это то, что он подразумевает под «скалярным значением». Вы можете сдвинуть значение в регистре, используя инструкции shl
или shr
. Они используются для сдвига значения в регистре влево или вправо, соответственно, на заданное количество бит.
Первая строка в этом примере сдвигает значение в ax
влево на 4 бита, что равносильно умножению его на 16. Вторая строка сдвигает значение в bx
вправо на 2 бита, что совпадает с целочисленное деление на 4.
shl ax, 4
shr bx, 2
Вы также можете использовать cl
, чтобы указать количество бит для сдвига вместо константы. Для получения дополнительной информации об этих и связанных с ними инструкциях см. эту страницу .