Lord_Otter
28.07.2002, 18:55
Hi Leute,
ich schreibe in letzter Zeit viele Assembler-Routinen in C++.
Allerdings muss ich die Labels immer auserhalb des asm-Blocks deklarieren.
Beispiel:
int visible=0;
int fehler=0;
...
void show()
{
asm {
mov ax,visible
cmp ax,0
jne ende // Nur anzeigen, wenn noch nicht sichtbar ist
/* Anzeigen */
...
mov ax,1
mov visible,ax
xor ax,ax
mov fehler,ax
}
ende:
asm {
mov ax,1
mov fehler,x
}
}
Geht das nicht besser ?
Wenn ich die Labels direkt in den Assemblerblock schreibe, denkt C++, das das Label nicht deklariert ist.:mauer: :mauer:
In einer anderen Sprache, Pascal, musste man einfach ein @ vorranstellen, hat aber in C++ auch nicht gefunzt.
Weiß jemand, wie das geht ?
ich schreibe in letzter Zeit viele Assembler-Routinen in C++.
Allerdings muss ich die Labels immer auserhalb des asm-Blocks deklarieren.
Beispiel:
int visible=0;
int fehler=0;
...
void show()
{
asm {
mov ax,visible
cmp ax,0
jne ende // Nur anzeigen, wenn noch nicht sichtbar ist
/* Anzeigen */
...
mov ax,1
mov visible,ax
xor ax,ax
mov fehler,ax
}
ende:
asm {
mov ax,1
mov fehler,x
}
}
Geht das nicht besser ?
Wenn ich die Labels direkt in den Assemblerblock schreibe, denkt C++, das das Label nicht deklariert ist.:mauer: :mauer:
In einer anderen Sprache, Pascal, musste man einfach ein @ vorranstellen, hat aber in C++ auch nicht gefunzt.
Weiß jemand, wie das geht ?