次のコードが完全にコンパイルされるのはなぜですか?
Data Segment
Var1 Dw (any 4 digit hex value)
Var2 Dw Var1
Data Ends
「Var2DwVar1」という行はどういう意味ですか?を定義する型の後には、即値のみが続くと思いました。
次のコードが完全にコンパイルされるのはなぜですか?
Data Segment
Var1 Dw (any 4 digit hex value)
Var2 Dw Var1
Data Ends
「Var2DwVar1」という行はどういう意味ですか?を定義する型の後には、即値のみが続くと思いました。
次のように変数を宣言すると、次のようになります。
VARX DW VARY
それからあなたは基本的に言っています:
VAR DW (offset of VARY into the segment VARY is in)
特定の例でVar1
は、データセグメントの最初の変数であるため、の宣言はVar2
次と同等です。
Var2 DW 0x0000
後で、 の前にさらに変数を追加するVar1
と、実際にVar1
はさらにセグメントに移動し、 の値がVar2
それに応じて調整されます。
これの典型的な使用法は、配列の先頭のアドレス (このコンテキストではオフセット) を取得することによって、配列のような構造の先頭を取得することです。