89c51单片机的当前工作寄存器如何选择

2024-12-19 00:52:04
推荐回答(3个)
回答1:

由程序状态字寄存器PWS的D3,D4位来控制;地址为D0H

PWS的结构如下

单片机共有四个工作寄存器组(0 组-3 组),它们就是由 RS1,RS0 来控制,这两位就在

这里,它共有四种组合状态,看上面的表格:每个工作寄存器组有 8 个字节,分别记为 R0-R7,当然在

某一时刻,CPU 只使用其中的一组

在使用汇编语言编程时会涉及到工作寄存器选择,但如果是用C语言编写基本不会涉及到,因为通常都是有软件来选择的!

回答2:

当前工作寄存器默认是在第0区,R0~R7对应地址位00H~07H,
当PSW中的RS1、RS0发生变化时对应的工作区发生相应的变化,对应关系为:
00:工作区0,R0~R7对应地址00H~07H
01:工作区1,R0~R7对应地址08H~0FH
10:工作区2,R0~R7对应地址10H~17H
11:工作区3,R0~R7对应地址18H~1FH
RS1/RS0是靠软件来设置的,你可以根据不同情况自由设置,一般比如中断时用得较多,以避免影响正常流程下的工作寄存器值。

回答3:

单片机共有四个工作寄存器组(0 组-3 组),它们就是由 RS1,RS0 来控制,这两位就在
这里,它共有四种组合状态,看上面的表格:每个工作寄存器组有 8 个字节,分别记为 R0-R7,当然在某一时刻,CPU 只使用其中的一组
RS1 RS0的代码不同选择不同的工作寄存器