ADD EAX、EBXは、32の下位ビットを操作するだけの場合、EAXの上位32ビットをゼロにしますか?
そして、ADD RAX、EBXはどうですか?出来ますか?もしそうなら、RAXの上位32ビットは保持されますか?
ADD EAX, EBXRAXの上位32ビットをゼロにします。 ADD RAX, EBXは有効な命令ではありません。
EBXの64ビット値に32ビット値を追加したいようですRAX。これを行うには、最初にゼロ拡張(MOV EBX, EBX)または符号拡張(MOVSX RBX, EBX)を実行してから、に追加RBXしRAXます。(値を符号なしとして解釈する場合はゼロ拡張を使用し、署名されている場合EBXは符号拡張を使用します)。
はい、32ビットは上位ビットをADDゼロにします。ADD RAX, EBX不可能である。上位32ビットをゼロにして(たとえばMOV EBX, EBX)を使用してから使用できますADD RAX, RBX(これにより、の上位32ビットが変更される可能性があることに注意してくださいRAX)