PDA

View Full Version : [Inline assembly]


Teo@Unix
11-07-2009, 22:45
Ho un problema nel seguente codice:

//Routine ASM per interrogare EDS

_asm_ (
"mov %%eds,%0\n"
: "=r" (s)
:
: "%eax"
);
printf("Il reg. EDS vale: %d\n", s);

Mi da il seguente errore:
"stack_view.c:29: error: expected ‘)’ before ‘:’ token"

La riga 29 corrisponde a : "=r" (s)..... davvero no capisco dove possa essere l'errore, qualcuno ha un'idea?
Grazie.

malocchio
15-07-2009, 12:30
Ho un problema nel seguente codice:

//Routine ASM per interrogare EDS

_asm_ (
"mov %%eds,%0\n"
: "=r" (s)
:
: "%eax"
);
printf("Il reg. EDS vale: %d\n", s);

Mi da il seguente errore:
"stack_view.c:29: error: expected ‘)’ before ‘:’ token"

La riga 29 corrisponde a : "=r" (s)..... davvero no capisco dove possa essere l'errore, qualcuno ha un'idea?
Grazie.

Usi GCC vero?

malocchio
15-07-2009, 12:54
Potrebbe essere che riconosca _asm_ come una funzione utente.

Prova a usare asm o __asm__ (senza o con doppi underscore)