2

次のコードが完全にコンパイルされるのはなぜですか?

Data Segment

Var1 Dw (any 4 digit hex value)
Var2 Dw Var1

Data Ends

「Var2DwVar1」という行はどういう意味ですか?を定義する型の後には、即値のみが続くと思いました。

4

1 に答える 1

2

次のように変数を宣言すると、次のようになります。

VARX    DW VARY

それからあなたは基本的に言っています:

VAR     DW (offset of VARY into the segment VARY is in)

特定の例でVar1は、データセグメントの最初の変数であるため、の宣言はVar2次と同等です。

Var2   DW 0x0000

後で、 の前にさらに変数を追加するVar1と、実際にVar1はさらにセグメントに移動し、 の値がVar2それに応じて調整されます。

これの典型的な使用法は、配列の先頭のアドレス (このコンテキストではオフセット) を取得することによって、配列のような構造の先頭を取得することです。

于 2011-10-29T19:45:00.057 に答える