0

64 ビットモードの AND 命令について質問があります。このマニュアルには、AND 32 ビット イミディエイトを 64 ビットに符号拡張する必要があると書かれています。しかし、私はこれを行うことはできません

および rax,0x80000000

0x800000 は完全な DWORD オペランドであるため、これはばかげていると思います。私がそれで行くことができる最高は

と rax,0x7fffffff

ここで何が起こっているのでしょうか?MSb=1 を使用してオペランドを符号拡張することはできませんか? もしそうなら、0x80000000 のようにオペランドを使用することができずに、どのように符号拡張がオペランドに対して機能することになっているのでしょうか?

返信ありがとうございます。

4

1 に答える 1