2010-11-18 75 views
1

我對此感到困惑 - 請任何人告訴我它是如何工作的?使用Ptr運算符?

array db 10,20,30,40 

mov eax,DWORD PTR array ;eax should contains 40302010 (in Little endian.) 

但這是不工作在我的電腦/系統。請任何人都可以幫助我 - 爲什麼會這樣?在我的程序中它包含一些垃圾值。請幫幫我。

+0

IIUC,PTR不是運算符,DWORD PTR是限定符,[]是運算符。 – ninjalj 2010-11-18 20:42:03

回答

2

您的eax包含$ 281E140A。十六進制$ 28,$ 1E,$ 14和$ 0A對應於您聲明的元素。對於它來說$ 40302010,您的陣列需要爲:

array db $10,$20,$30,$40 
+0

請告訴我什麼是$符號實際上我正在使用MASM611所以它給了我錯誤$是未申報的符號或未定義的符號請詳細說明它..... – 2010-11-18 20:02:07

+0

表示一個十六進制數字。嘗試**數組db 0x10,0x20,0x30,0x40 **。 – 2010-11-18 20:07:41

+0

or ** array db 010h,020h,030h,040h ** – 2010-11-18 20:16:26