Ich gehe mal nicht davon aus, daß du einen gcc 2.x hast, der ist nämlich mittlerweile so gut wie antik. Aber angenommen, das mit gcc ist richtig:
asm(
"xor %eax, %eax\n" // Register haben Prozentzeichen
"mov $42, %eax\n" // Konstanten mit Dollarzeichen. NB: Zielregister kommt als zweites!
"mov $0x42, %eax\n" // Hexzahlen mit 0x wie in C üblich
);