2010-11-18 14 views
1

Ich bin verwirrt darüber - bitte kann mir jemand sagen, wie es funktioniert?Verwendung des Ptr-Operators?

array db 10,20,30,40 

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

aber das funktioniert nicht in meinem Computer/System. Bitte kann mir jemand helfen - warum ist das so? In meinem Programm enthält es einen Müllwert. Bitte hilf mir.

+0

IIUC, PTR ist kein Operator, DWORD PTR ist ein Qualifier und [] ist ein Operator. – ninjalj

Antwort

2

Ihre eax enthält $ 281E140A. Die hexadezimalen $ 28, $ 1E, $ 14 und $ 0A entsprechen Ihren deklarierten Elementen. Um es $ 40302010 zu sagen, muss Ihr Array sein:

+0

Bitte sagen Sie mir, dass was ist $ Symbol tatsächlich benutze ich MASM611, so gibt es mir Fehler, dass $ ist nicht deklariertes Symbol oder undefined Symbol bitte erarbeiten Sie es ..... –

+0

Bezeichnet eine Hexadezimalzahl. Versuchen Sie ** Array db 0x10,0x20,0x30,0x40 **. –

+0

Oder ** array db 010h, 020h, 030h, 040h ** –

Verwandte Themen