Variable deklarieren mit Visual C++ inline Asm
-
Hallo,
ich habe Probleme eine Variable mit dem inline Assembler vom Visual Studio 2008 zu deklarieren. Die generelle Syntax
Variablenname Datentyp Wert
funktioniert jedenfalls nicht. Im Delphi inline Assembler muss z.B. ein "@" vorangestellt werden ...
-
man kann keine Variablen im asm-Block deklarieren - das musst du außer halb machen.
-
oops wieso hab da unten [/code] geschrieben ?? sry
#include <iostream.h> using namespace std; int main() { int z1 = 20; int z2 = 10; int erg; _asm { mov eax , z1; add eax,z2 mov erg,eax } cout<<"Ergebniss: "<< erg <<endl; system("PAUSE"); }
-
Dass das geht ist mir klar. Können keine Assembler Befehle á la
Var db 97
im Inline Assembler Block verwendet werden?
-
AFAIK: Nein.
IaR. waere das auch bestenfalls unnoetig.
-
Alles was du tun kannst ist auf dem Stack per Assembler Speicher zu reservieren (wie es der Compiler im übrigen selbst auch tut) und dann mit Makros Namen für bestimmte relative Adressen festlegen. Oder alternativ dazu (und wesentlich sinnvoller): Du deklarierst die Variablen nicht im inline Code, sonderen einfach im C++ Code
-
Ist ja gut Leute, man darf ja fragen.