单片机

[复制链接]
2024|2
 楼主| shmgef 发表于 2012-4-29 13:34 | 显示全部楼层 |阅读模式
.....
           MOV   A,40H
           MOV   DPTR,#TABLE
           RL      A
           ADD   A,40H
           JMP   @A+DPTR
            ......
TABLE:  LCALL   SUB1
            LCALL    SUB2
            LCALL    SUB3
            .......


大虾能不能帮忙解说这个代码是怎么运行的?
RL  A;                 (A)<--(A)x2
ADD  A,40H        (A)<--(40H)x3
是怎么回事?
lyjian 发表于 2012-4-29 14:05 | 显示全部楼层
RL  A;                 (A)<--(A)x2
*************
A寄存器数据左移一位。此指令执行的结果相当于把移位前的数据x2.
这条指令执行完后A=2倍40H.

2、ADD  A,40H        (A)<--(40H)x3
*************
在执行这条指令前A=2倍40H,再加一次40H,那不就是A=(40H)x3.
 楼主| shmgef 发表于 2012-4-29 20:09 | 显示全部楼层
为什么程式中要有这两条指令呢?
是因JMP指令吗?
求大虾帮忙解释。。。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

65

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部