频道栏目
读书频道 > 系统 > 其他综合 > 深入理解8051单片机系统
2.4.4 单字节执行程序
2015-12-03 13:25:31     我来说两句
收藏   我要投稿

本文所属图书 > 深入理解8051单片机系统

本书详细介绍了8051单片机的各种功能。主要内容包括8051微控制器、8051汇编语言编程、跳转指令、循环指令、调用指令、I O端口编程、8051寻址方式、算术逻辑指令与程序、8051 C语音编程、8051硬件接线、8051定时  立即去当当网订购

假设将以上程序烧入8051芯片(8751、AT8951或DS5000)ROM中,则如下就是在上电情况下对8051程序的单步描述。

1.当8051上电后,程序计数器的值是0000,并开始从程序ROM位置0000处得到第一个操作码。对以上程序而言,第一个操作码是7D,它将操作数装载到R5中。在执行操作码时,CPU得到25并将它放入R5中。现在这条指令就算完成了。随后程序计数器自增,并指向0002(PC=0002),其中的操作码是7F,即指令“MOV R7,..”的操作码。

2.执行操作码7F时,值34H被装载到R7中,然后程序计数器自增到0004。

3.ROM地址0004中包含指令“MOV A,#0”的操作码。执行该指令后,PC=0006。注意,以上所有的指令都是2B指令,也就是说,每条指令占用2个存储位置。

4.现在PC=0006指向下一条指令,即指令“ADD A,R5”。该指令是1B指令,执行完该指令后,PC=0007。

5.存储地址0007中有操作码2F,此操作码属于“ADD A,R7”指令。它也是1B指令。执行完该指令之后,PC 就自增到0008。这个过程会一直执行,直到所有的指令被取走并执行完为止。事实上,程序计数器指向下一条即将执行的指令就解释了为什么微处理器(尤其是x86)称程序计数器为指令指针(instruction pointer)的原因。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.4.3 放置代码到程序ROM中
下一篇:2.4.5 8051系列中的ROM存储映射
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站