アセンブリレジスタの理解では、各レジスタは32ビットコード全体でアクセスでき、複数のアクセス可能なレジスタに分割されています。この例ではEAX
が32ビットレジスタである場合、AX
を呼び出すと、最初の16ビットが返されます。AH
またはAL
を呼び出すと、16ビットの次の8ビットを返し、AL
は最後の8ビットを返します。アセンブリプログラミングメモリEAXとAxe、AH、ALの割り当て
私の質問は、私は本当に信じていないので、これは動作する方法です。私たちは7の32ビット値を格納する場合は...別名EAX
は
0000 0000 0000 0000 0000 0000 0000 0111
を格納し、我々はAX
呼び出すのであれば、それは我々がAH
を呼び出す場合、それは
0000 0000
を返す必要があります
0000 0000 0000 0000
を返す必要があります
とし、AL
とすると、返信する必要があります。
0000 0111
これは間違いありませんか? AH
への呼び出しがどのような値であれば本当に提供しますか?
いいえ、あなたのAXの価値は間違っています。最後の16ビットをハックします。 AHはEAXのビット8〜15を返します。 –
ビットパターンをあなたの質問の文脈の中で理解しやすいもので置き換えてください。例えば0000 0001 0010 0011 ... –