SHR 和 SAR 命令

SHR and SAR Commands

我想确保我 100% 理解这个概念,如果没有,请得到一些说明。

在 asm 程序中,如果您执行 SHR 00110000b,您将以 00011000b 结束。 但是,如果您要在 11111111b 上执行 SHR,您最终会得到错误的答案,应该改用 SAR 吗?这是因为号被签了?

if you perform SHR 00110000b you would end up with 00011000b

如果你向右移动一位,是的。可以指定偏移量,所以不固定为1。

However, if you were to perform SHR on 11111111b you would end up with an incorrect answer

如果您将 11111111b 向右移动一位,您将得到 01111111b。您是否认为这不正确完全取决于您要实现的目标。如果你想保留你应该使用的标志 SAR.