切换寄存器

ORG 0000H ,程序从00H单元开始存储

SJMP MAIN , 跳转至主程序

ORG 0030H , 一下程序从30H单元开始存储

(1)为什么要从30H单元存储?

答:00H~30H有各中断入口,为确保能中断不受影响,应该保持良好习惯,将这部分区域空出来。

tips:片内ROM低端的入口地址:0000H复位入口;0003H,INT0(外部中断0的中断服务程序)入口;000BH,T0(定时/计数器0溢出中断服务程序)入口;0013H,INT1(外部中断1的中断服务程序)入口:001BH,T1(定时/计数器1溢出中断服务程序)入口;0023H(串行口中断服务程序)入口;002BH,T2(增强型单片机定时/计数器2溢出或T2EX负跳变中断服务程序)入口。各中断入口下有8字节的存储空间,所以当中断服务程序少于8个字节时,才能将终端服务程序放在入口地址开始的几个单元中。

(2)为什么要切换寄存器?

答:工作寄存器供32个,分4组,每组8个,且8个寄存器对应名称均一致,皆为R0~R7。寄存器组默认置0组。当程序不同地方用到同名寄存器时,就要在调用之前,更改寄存器组,这样才不会导致后面存入的数据覆盖掉之前的同名寄存器的数据。

1.工作寄存器位于片内RAM 的00H~1FH:0组00H~07H,1组08H~0FH,2组10H~17H,3组18H~1FH;

2.寄存器分组靠程序状态字寄存器(PSW)的RS0、RS1决定。(00、01、10、11)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值