Я хочу написать очень простую процедуру встроенного ассемблера в моей программе на C, которая ничего не делает, кроме установки локальных регистров %l0 - %l7 в разные значения. Я попробовал следующий простой подход:
asm volatile (
".text\n\t"
"mov 0, %%l0 \n\t"
"mov 1, %%l1 \n\t"
"mov 2, %%l2 \n\t"
"mov 3, %%l3 \n\t"
"mov 4, %%l4 \n\t"
"mov 5, %%l5 \n\t"
"mov 6, %%l6 \n\t"
"mov 7, %%l7 \n\t"
);
к сожалению, ассемблер говорит: недопустимый операнд для каждой инструкции. Не мог бы кто-нибудь так любезно указать мне, как я могу правильно передать немедленные значения ассемблеру SPARC?
Большое спасибо!
РЕДАКТИРОВАТЬ: Спасибо, Крис, я внес предложенные вами изменения, но компилятор Sparc все еще говорит что-то о недопустимых операндах...