Hallöchen,
ich bin gerade dabei mir eine C-Funktion zu schreiben, mit der man einen Byte großen Wert an einen Port schicken lassen können soll. Na ja, aber ich bin ja noch nicht so wirklich gut in C und in AT&T-ASM auch nicht wirklich. So, ich verwende gcc und der kennt ja leider nur die AT&T-syntax (bzw. dessen Assembler). Also so sieht das Ganze bei mir zurzeit aus:
void outportb(unsigned short port, unsigned char val)
{
asm("out val,port"); //tjo und das ist ja falsch
}
Irgendwie raffe ich die Erklärung des gcc inline Assemblers nicht. Man kann ja leider nicht direkt die Variablennamen val und port verwenden. Von daher weiß ich jetzt nicht weiter. Evtl. könnt ihr, die ihr schon lange mit C und dem ganzen Quatsch rumhantiert, mir helfen. Ich wäre euch dankbar.
bitmaster