Forum: Mikrocontroller und Digitale Elektronik inline asm beim gcc kompilieren. AT&T-Syntax??


von kinek (Gast)


Lesenswert?

hey,

will follgenden code mit dem gcc kompilieren.

int main () {
unsigned int cyc;
    __asm (
   "CPUID;"
   "RDTSC;"
   "movl %eax, cyc;"
   );

 return 1;
}


Der gcc benutzt doch AT&T-Syntax oder?
Trotzdem bekomme ich beim kompilieren follgenden fehler:

/tmp/ccK8Qt3I.o(.text+0x15): In function `main':
: undefined reference to `cyc'
collect2: ld returned 1 exit status

Auch wenn ich die dritte zeile folgendermaßen ändere:

"movl %eax, $5;"

kommt beim kompilieren diese für mich unverständliche fehlermeldung:

/tmp/ccYE7xDK.s: Assembler messages:
/tmp/ccYE7xDK.s:13: Error: suffix or operands invalid for `mov'

warum sagt er "mov" wenn ich die AT&T-Syntax benutze und bei mir
"movl" steht.
Glaube mit der Intel Syntax klappt das kompilieren auch nicht.



bitte helft mir, bin voll am verzweifeln.
danke
kinek

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.