hi,
warum gibt der gnu assembler 2.18.0 bei folgendem code die nachfolgenden fehlermeldung aus?
fehlermeldung:
gcc -ffreestanding -c -O3 -o mem.o mem.c
/tmp/ccIHvtLl.s: Assembler messages:
/tmp/ccIHvtLl.s:21: Error: suffix or operands invalid for `mov'
/tmp/ccIHvtLl.s:23: Error: suffix or operands invalid for `mov'
make: *** [compile] Fehler
wohingegen dieser code anstandslos übersetzt wird:
gruß Cheebi
warum gibt der gnu assembler 2.18.0 bei folgendem code die nachfolgenden fehlermeldung aus?
Code: [Auswählen]
__asm__("movl %%cr0, %%eax\n\t"
"or $0x80000000, %%eax\n\t"
"mov %%eax, %%cr0\n\t"::);fehlermeldung:
gcc -ffreestanding -c -O3 -o mem.o mem.c
/tmp/ccIHvtLl.s: Assembler messages:
/tmp/ccIHvtLl.s:21: Error: suffix or operands invalid for `mov'
/tmp/ccIHvtLl.s:23: Error: suffix or operands invalid for `mov'
make: *** [compile] Fehler
wohingegen dieser code anstandslos übersetzt wird:
Code: [Auswählen]
__asm__("mov %0, %%cr3\n\t"::"r" (value));gruß Cheebi

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert
