PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inline ASM zu C/C++ Label springen



h1web
15-06-2006, 17:19
Ja, wie die undeutliche Überschrift andeutet, hab ich folgendes Problem:
Ich habe ein Label im C-Code, und dahin will ich mit Inline-ASM springen ( kein normaler Sprung, jne ). Hab schon in IRC Channels gefragt, aber irgendwie wollte keiner Antworten :p Finde keinen Weg. Hab einfach mal "jne label" Versucht, was nicht funktioniert. Habe auch schon nach Referenzen, die das Springen mit Inline ASM erläutern gesucht, hab aber nicht wirklich was gefunden.
Hoffe, dass mir hier jemand helfen kann.

bischi
15-06-2006, 17:30
Wenn du jetzt noch genau erklärst, warum jump nicht geht (bzw. ein Codeschnipsel postet, von dem, was du schon hast), dann bekommst du auch ne Antwort (Hab leider bei deiner Frage nicht ganz durchgeschaut und meine Glaskugel ist zur Zeit in Reparatur...)

MfG Bischi

h1web
15-06-2006, 17:35
Ja, kann ich das gar nicht so gut erklären.
Also so in der Art:

Beispiel:

goto start;
bla:
printf("foo\n");
start:
asm("cmpb %al, 0");
asm("jne bla");

Gibt natürlich andere Wege, das durchzuführen, aber kann mir kaum vorstellen, dass es mit der AT&T Syntax nicht möglich ist. Mit der Intel Syntax würde ich einfach nur "jne bla" benutzen.

Joghurt
16-06-2006, 09:45
Kurze Antwort: Es geht nicht.

Was willst du denn machen?

h1web
16-06-2006, 18:34
nichts besonderes, wollte auch beweisen, dass das mit der at&t syntax auch funktioniert :P naja egal, hab einen anderen weg gefunden, dass problem zu lösen.