最近在研究Aurxi的CSA机制,需要读取A11寄存器的值,一开始以为使用mfcr指令就可以读到,但实际验证下来无法读取,后来查阅资料,发现得使用汇编代码才能读取,现将代码贴出来。基于Tasking编译器,其他编译器代码不兼容。
uint32 RetValue;
__asm( "mov.d %0, a11":"=d"(RetValue)::);
return RetValue;
其他地址寄存器也可照此方法读取,数据寄存器的话将汇编指令"mov.d"换成"mov"即可。
最近在研究Aurxi的CSA机制,需要读取A11寄存器的值,一开始以为使用mfcr指令就可以读到,但实际验证下来无法读取,后来查阅资料,发现得使用汇编代码才能读取,现将代码贴出来。基于Tasking编译器,其他编译器代码不兼容。
uint32 RetValue;
__asm( "mov.d %0, a11":"=d"(RetValue)::);
return RetValue;
其他地址寄存器也可照此方法读取,数据寄存器的话将汇编指令"mov.d"换成"mov"即可。