我正在使用HLA,并且不理解这条指令:
shl( 5, ax )
我想详细说明这条指令在做什么。
答案 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.
答案 1 :(得分:0)
嗯,转移实际上就像乘法
如果您向左移动1次,则乘以2
这意味着:
mov eax, 5
mov ebx, 2
mul ebx
与:
相同 mov eax, 5
shl eax, 1
知道了吗?