Сдвиг вправо и сдвиг влево на ассемблере
Если я хочу сказать, например, bx это число:
shl bx,1
shr bx,1
Каким будет новое значение bx? Это остается тем же самым?
1 ответ
Каким будет новое значение bx? Это остается тем же самым?
Нет (или не обязательно). shl bx,1
избавится от самого высокого бита, а shr bx,1
не вернет старый самый высокий бит. Это означает, что значение, подобное 0x8123, станет 0x0123.
В основном это было бы почти так же, как использование and bx,0x7FFF
очистить старший бит (за исключением флага переноса).