У меня очень простая проблема. Я хочу написать некоторый ассемблерный код (для SPARC), который напрямую работает с одним регистром, называемым% o1. Все, что я хочу сделать, это инициализировать этот регистр с нуля, а затем увеличить его с некоторыми непосредственными значениями. Проблема в том, как вывести результат в% o1 из C-приложения. У меня скелет выглядит так:
void main()
{
int a;
asm volatile (
".text\n\t"
"mov 0, %o1 \n\t"
"add %o1, 1, %o1 \n\t"
"add %o1, 2, %o1 \n\t"
"add %o1, 3, %o1 \n\t"
);
// assign content of register %o1 somehow to variable a (a = %o1);
printf("%i\n", a);
}
Так что вопрос в том, как мне присвоить значение% o1 (которое должно быть 6 к концу
расчет) в переменную а, чтобы ее можно было распечатать на консоли.