Ассемблер GNU не поддерживает символьные имена регистров напрямую. Обычный подход, при использовании gcc для управления ассемблером, заключается в использовании расширения ".S" для исходного файла ассемблера (которое говорит gcc пропустить исходный код через препроцессор C перед ассемблером) и #include заголовочный файл, содержащий определения как:
#define zero $0
#define v0 $2
#define v1 $3
Тогда исходный текст на ассемблере может иметь такие выражения, как
add v0, zero, zero