shl(5,ax)做什么?

时间:2013-11-06 15:54:30

标签: assembly x86 hla

我正在使用HLA,并且不理解这条指令:

shl( 5, ax )

我想详细说明这条指令在做什么。

2 个答案:

答案 0 :(得分:2)

该指令表示ax中的数字将向左移位5位并填充零:

    Before the shift:  ax = 1111 1111 1111 1111 b
     After the shift:  ax = 1111 1111 1110 0000 b

在算术术语中,它意味着将ax乘以2 ^ 5 = 32,因为一个移位等于乘以2.

另外,如果您想学习汇编语言,使用HLA。请改用FASMNASM。通过这种方式,您可以从社区获得更多帮助。

答案 1 :(得分:0)

嗯,转移实际上就像乘法

如果您向左移动1次,则乘以2

这意味着:

 mov eax, 5
 mov ebx, 2
 mul ebx

与:

相同
     mov eax, 5
     shl eax, 1

知道了吗?