SPARC アセンブリのダブルワードで左論理シフトを行う方法はありますか?
私は持っている:
ldd [%fp - 8], %l0
64ビットメモリアドレスをロードします。これは整数ではなく、単なる一連のバイトであるため、左論理シフトは乗算として機能しないことに注意してください。
SPARC アセンブリのダブルワードで左論理シフトを行う方法はありますか?
私は持っている:
ldd [%fp - 8], %l0
64ビットメモリアドレスをロードします。これは整数ではなく、単なる一連のバイトであるため、左論理シフトは乗算として機能しないことに注意してください。
Fundamentals of Computer Organization and Design ページ 988 (Google ブックスで調べることができます):
sllx Rs1,Rs2,Rd
64 ビット値Rs1
を の最下位 6ビットだけ左にシフトし、Rs2
に格納しRd
ます。Sparc v8 からの命令の多くは、その命令x
の 64 ビット バージョンを示すために末尾に が付けられています。たとえばsllx
、、、... srax
_srlx
ところで、Sparc v9 マニュアル自体から少しの情報を取得するのがはるかに簡単に思われるこのドキュメントに出くわしました: https://openresearch-repository.anu.edu.au/bitstream/1885/40814/3/TR -CS-00-03.pdf