Я хочу написать очень простую встроенную процедуру сборки в моей 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 все еще что-то говорит о недопустимых операндах ...