-1

我正在解释一些 IA-32 汇编代码。它是这样写的:

    .data
    .align 4
A:  .long 10, 40, 20, 50, 30
    .text
main:
    movl $0x75, %eax
    sarl $3, %eax

我知道这是一个算术右移,但我找不到任何例子。有人可以帮我分解一下吗?我不确定“右移”需要对数字做什么。谢谢。

4

1 回答 1

1

右移 N 位与整数除以 2^N 相同。所以你除以eax2^3,即 8。

在这种情况下,逻辑右移将产生相同的结果,因为 的最高有效位eax为零(0x75 的 32 位二进制表示为 000000000000000000000000001110101)。

于 2015-12-01T19:11:26.383 回答