右移和左移汇编语言

时间:2019-05-25 18:44:18

标签: assembly x86 bit-manipulation bit-shift zero-extension

例如,如果我想说bx是一个数字:

shl bx,1
shr bx,1

新的bx值是多少?它保持不变吗?

1 个答案:

答案 0 :(得分:2)

  

新的bx值是多少?它保持不变吗?

否(或不一定)。 shl bx,1将摆脱最高位,而shr bx,1不会将旧的最高位带回来。这意味着像0x8123这样的值将变为0x0123。

通常,它与使用and bx,0x7FFF来清除最高位(进位标志除外)几乎相同。