Я хочу напечатать регистр $ra
(обратный адрес) в моей функции assert для целей отладки. Я работаю на MIPS CPU.
Я попробовал следующий код, но компилятору это не нравится:
unsigned int RA;
unsigned int* pRA = &RA;
asm volatile("sw $ra, %0" : "=r" (pRA));
или
static volatile unsigned int RA;
asm ("mov $ra, %0" : "=m"(RA));
Я нашел документацию GCC относительно встроенной / расширенной сборки, но мне она кажется неясной.