我想确定我是100%理解这个概念,如果没有得到一些澄清。
在asm程序中,如果您执行SHR 00110000b,您将得到00011000b。但是,如果要在SHR上执行11111111b,最终会得到一个不正确的答案,而应该使用SAR吗?这是因为号码是签名的吗?
发布于 2015-06-04 13:16:01
如果您执行
SHR00110000b,最终将得到00011000b。
如果你往右转一点,是的。您可以指定移位量,因此它不会固定在1。
但是,如果您要在111111b上执行
SHR,则最终会得到一个不正确的答案。
如果你做了一个1111111b的逻辑转换,向右一点,你就会得到01111111b。你是否认为这是不正确的,完全取决于你正在努力实现什么。如果你想保留这个标志,你应该使用SAR。
https://stackoverflow.com/questions/30644708
复制相似问题