3

本によると、レジスタは小さなストレージスペースを持つCPU内の場所です(例:16ビットCPUの16ビット)。では、CPUレジスタはどのようにアドレスを持っているのでしょうか?また、メモリ内ではなくCPU上にある場合、どのようにして変位を追加できますか?

例:

mov ax, [bx+1000h]
4

2 に答える 2

6

x86 レジスタは、名前によってのみアドレス指定されます。この式bx+1000hは単に「レジスタ bx の値に 1000h を加えた値」を意味し、結果は[...]レジスタ空間ではなくメモリへのアドレスとして (表記法を介して) 解釈されます。

式の全体的な解釈は、「アドレス bx が指すアドレスの 1000h バイト後にある 16 ビットを ax にロードする」です。

于 2011-09-05T10:19:33.527 に答える
0

の内容をアドレスとして解釈し、bxそれをオフセットで置き換えることによって行われます。

その場合、の内容はbxメモリの場所に保存されます1000hax2000h

于 2011-09-05T10:21:32.770 に答える