Guten Tag,
ich scheiter gerade irgendwie an einem recht simplen Problem mit inline Assembler.
(PUSH,POP EAX ist nur dazu da um die Stelle im Debugger zu finden)
Ich würde gerne an die Stelle "memory", die ich durch VirtualAlloc zugewiesen bekomme habe, "90" reinschreiben. Ich versteh aber nicht wirklich wie der Compiler den Code interpretiert. 90 wird in 5A umgewandelt und die Adresse für memory erscheint mir auch nicht richtig im Debugger.
Ich würde daher folgendes Wissen:
a) Wie macht man es richtig?
b) Wie macht man es ohne Assembler, so dass er auch tatsächlich 90 reinschreibt. Krieg da auch immer nur 5A reingeschrieben.
Vielen Dank.
ich scheiter gerade irgendwie an einem recht simplen Problem mit inline Assembler.
Code:
LPVOID memory;
memory = VirtualAlloc(NULL,sizeof(BYTE),MEM_COMMIT,PAGE_READWRITE);
printf("%x",memory);
_asm {
PUSH EAX;
MOV memory,90;
POP EAX;
}
Ich würde gerne an die Stelle "memory", die ich durch VirtualAlloc zugewiesen bekomme habe, "90" reinschreiben. Ich versteh aber nicht wirklich wie der Compiler den Code interpretiert. 90 wird in 5A umgewandelt und die Adresse für memory erscheint mir auch nicht richtig im Debugger.
Ich würde daher folgendes Wissen:
a) Wie macht man es richtig?
b) Wie macht man es ohne Assembler, so dass er auch tatsächlich 90 reinschreibt. Krieg da auch immer nur 5A reingeschrieben.
Vielen Dank.