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.
我正在使用 HLA,但不理解此说明:
shl( 5, ax )
我想详细了解该指令的作用。
该指令意味着 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。请改用FASM或NASM。这样,您将从社区获得更多帮助。
好吧,移位实际上就像乘法一样
如果您向左移动 1 次,则乘以 2
意思就是:
mov eax, 5 mov ebx, 2 mul ebx
是相同的:
mov eax, 5 shl eax, 1
知道了?