你會如何在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. 新線運營商