单片机Rn寄存器使用

来源:百度知道 编辑:UC知道 时间:2024/05/14 03:08:03
R0~R7总共有八组,应该怎样使用?怎样变换组呢?

对37772166的补充:
在C语言里,编译器会自动分配寄存器资源。
如果要指定某个函数使用某一组寄存器,可以在函数声明后面加入using关键字,如:
void fun(void) using 2 //使用第二组寄存器。
{
;
//...........
}
这种情况多用于应用了较多局部变量的中断服务程序,可提高进入中断和中断返回的速度。

应该是四组吧...
是通过PSW.3,PSW.4来确定使用哪一组..
比如说,当PSW.3=0,PSW.4=0时使用的就是通用寄存器组0
PSW.3=1,PSW.4=0,用的就是组1..依次下去..

原则上是通过PSW来选择的,但是你可以重新用EQU来把后面的定义成你想要的名字,这样就不用来改变PSW了,免得搞错.