Hallo
Ich bin soeben dabei, mal meine Exceptions zu schreiben und da ich nicht extra ein Asm-Modul dazulinken will wollte ich dies ganz in Inline-ASM machen, so:
asm volatile
(
"pusha \n"
"push %%gs \n"
"push %%fs \n"
"push %%ds \n"
"push es"
);
/* Isr-Code. */
asm volatile
(
"pop %%es \n"
"pop %%ds \n"
"pop %%fs \n"
"pop %%gs \n"
"popa"
);
}
Tja, doch wenn ich das Compillieren will, sagt gcc:
/tmp/ccPfBEsA.s:619: Error: bad register name `%%gs'
(logischerweise für jedes Auftregen eines registernamens, nicht nur für "gs".)
Doch soweit ich weiß, ist das die korrekte Schreibweise für GCC-Inline-Asm oder etwa nicht?
Vielen Dank für die Antworten im vorraus