IA-32 - 与`sarl`合作

时间:2015-12-01 19:04:55

标签: assembly ia-32 sar

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

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

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

1 个答案:

答案 0 :(得分:1)

N位的右移与2 ^ N的整数除法相同。所以你要将eax除以2 ^ 3,即8。

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