2

Kip Irvine による Assembly Language for x86という本を読みました。85ページで、彼は記号を使用する理由について次のように書いています。

演算子の使用DUP:演算子を使用して配列と文字列のストレージを作成するSection 3.4.4方法を示しました。DUPで使用されるカウンターはDUP、プログラムのメンテナンスを簡素化するために、記号定数にする必要があります。次の例では、COUNT が定義されている場合、次のデータ定義で使用できます。

array dword COUNT DUP(0)

このコマンドの意味がわかりません。誰かが私にそれが何を意味するのか説明できますか?

4

1 に答える 1

4

それは非常に簡単です:

.const
  COUNT equ 10               ; sets COUNT to a value of 10 or whatever
.data
  array dword COUNT DUP(0)   ; creates an array of DWORDs/4-byte values 

したがって、'0' (4*10 = 40 バイト) に等しいarrayCOUNT(=10) 値で構成されます。DWORD

このDUPコマンドは、前のデータ型が COUNT 回「重複」していることを示しているだけです。したがって、arrayof DWORDs DUPed byは、値 0 で sとして初期化された (sizeof(DWORD)*COUNT) バイトが続く、COUNT呼び出されるアドレスになります。arrayDWORD

于 2016-04-09T17:58:39.137 に答える