你会如何在NASM上做一些转变?我阅读手册,似乎只提到这些运营商>>,< <。当我尝试使用它们时,NASM抱怨工作在标量值上的移位操作符。你能解释一下标量值是什么,并举例说明如何使用>>和< <。此外,我认为有一个运营商shr或shl运营商。如果它们确实存在,你可以举一个如何使用它们的例子吗?感谢您的时间。NASM转移运营商
4
A
回答
4
<<
和>>
仅用于整数常量。这就是“标量值”的含义。您可以使用shl
或shr
指令移入寄存器中的值。它们用于分别向左或向右移位寄存器中的值,给定位数。
本示例中的第一行将ax
的值左移4位,与将其乘以16相同。第二行将bx
中的值右移2位,这与整数除以4.
shl ax, 4
shr bx, 2
您还可以使用cl
来表示的比特数移位,而不是常量。有关这些和相关说明的更多信息,请参阅this page。
4
捎带上ughoavgfhw的答案...使用<<
和>>
,直接在常量使用它们:
MOV EAX, 1 << 2 ; Puts 4 into EAX
MOV EAX, 2 << 2 ; Puts 8 into EAX
MOV EAX, 8 >> 1 ; Puts 4 into EAX
相关问题
- 1. 移动构造/运营商=
- 2. 转换运营商和运营商>>
- 3. 空 - 结合运营商和运营商&&
- 4. 或运营商与三元运营商
- 5. &&运营商JSONpath()
- 6. '运营商='
- 7. C#? :运营商
- 8. 运营商
- 9. jQuery @运营商?
- 10. +运营商
- 11. Javascript:?运营商
- 12. iPhone运营商
- 13. Bigint +运营商
- 14. 运营商
- 15. &&和||运营商
- 16. Java ==!= && ||运营商?
- 17. Ternery运营商
- 18. 比较运营商(飞船运营商)如何在三元运营商处理
- 19. 无法检测到移动运营商
- 20. 获取移动运营商信息Phonegap
- 21. 转换三元运营商的if else
- 22. 转让运营商的业绩
- 23. 运营商[]重载
- 24. 运营商超载
- 25. OpenCV UMat运营商
- 26. PHP!=和==运营商
- 27. 运营商在python
- 28. ??运营商在SQL
- 29. 的unique_ptr运营商=
- 30. 新线运营商