Do umieszczania prostych wstawek używamy instrukcji
asm( "Instrukcje asemblerowe");
Powoduje to proste wklejenie danego tekstu (kodu asemblerowego) do pliku generowanego przez gcc, bez żadnego sprawdzenia poprawności, np.
asm("movl %ecx, %eax \n\t addl %ebx, %eax");
Dlatego też konieczne jest np. wstawienie znaków nowej linii po każdej instrukcji.
Można też kolejne instrukcje oddzielać średnikiem i umieszczać je w osobnych łancuchach tekstowych.
asm("movl %ecx, %eax ;" "addl %ebx %eax;");
Jeżeli nasz kod modyfikuje jakiś rejestr i nie przywraca jego wartości może to prowadzić do błędnego działania programu. Kompilator (zwłaszcza podczas optymalizacji) może umieszczać pewne zmienne w rejestrach i zakładać, że one się nie zmienią.