频道栏目
读书频道 > 系统 > 其他综合 > 深入理解8051单片机系统
2.7.6 8051如何访问栈
2015-12-03 14:07:39     我来说两句
收藏   我要投稿

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

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

如果栈是RAM的一段空间,CPU中就必须有指向这段空间的寄存器。用于访问栈的寄存器称为SP(栈指针)寄存器。8051中的栈指针仅8位宽,这就意味能得到的值的范围是00~FFH。当8051上电后,SP寄存器的值是07,就意味着RAM位置08是8051栈的第一个位置。将CPU寄存器中的值存入栈称为PUSH(压栈),从栈中取出值放入寄存器中称为POP(出栈),也就是说,一个寄存器被压入栈中就是保存数据,而从栈中弹出则是重新得到该数据。当进行压栈和出栈的操作时,SP的作用很重要。为理解它们是如何工作的,让我们先来看看PUSH和POP指令。

默认情况下,PSW.3=0和PSW.4=0;所以,指令“SETB PSW.4”使得RS1=1而RS0=0,从而选择寄存器组2。寄存器组2使用RAM位置的地址范围为10H~17H。以上程序执行之后,能得到如下结果:

RAM位置地址10H中有值99H  RAM位置地址11H中有值85H

RAM位置地址12H中有值3FH  RAM位置地址17H中有值63H

RAM位置地址15H中有值12H

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.7.5 8051中的堆
下一篇:2.7.7 压栈
相关文章
图文推荐
排行
热门
最新书评
特别推荐

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

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