Linux x64逆アセンブリ:movzwlオペランドの単一質問


0

movzwl命令に関する簡単な質問は、私が期待したとおりに動作しません。 raxが命令した後0x50x7fffffffe410とポイントで、私はeaxが(そうである)0x5であることを期待する、命令の前に

movzwl (%rax),%eax 

が、私は希望:ここ

は逆アセンブルコードです、rax0x5 ...

をデバッグするときraxの上位ビットがあまりにもクリアされることを期待していない...しかし、私はと思いましたはeaxの上位ビットのみをクリアしますが、raxビットはクリアしません。あなたは説明できますか?

ご協力いただきありがとうございます。

enter image description here

  0

「私はそれを考えた..」:あなたは、公式のIntelのマニュアルを確認しましたか? 28 12月. 172017-12-28 12:31:28

1

このセットのx64命令の幾分トリッキーな部分であり、個々の命令の説明にのみ一般的な導入部に追記として言及されていません。ここではそれに良い答えだ:

https://stackoverflow.com/questions/11177137/why-do-x64-instructions-zero-the-upper-part-of-a-32-bit-register