Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在解释一些 IA-32 汇编代码。它是这样写的:
.data .align 4 A: .long 10, 40, 20, 50, 30 .text main: movl $0x75, %eax sarl $3, %eax
我知道这是一个算术右移,但我找不到任何例子。有人可以帮我分解一下吗?我不确定“右移”需要对数字做什么。谢谢。
右移 N 位与整数除以 2^N 相同。所以你除以eax2^3,即 8。
eax
在这种情况下,逻辑右移将产生相同的结果,因为 的最高有效位eax为零(0x75 的 32 位二进制表示为 000000000000000000000000001110101)。