单片机堆栈指针

时间:2023-03-08作者:佚名
堆栈指针sp在片内RAM128B中开辟栈区,并随时跟踪栈顶地址。它是按"先进后出"的原则存取数据。开机复位后,单片机栈底地址为07H。
  主要用来保存临时数据,局部变量和中断/自程序的返回地址。
  堆栈指针总是指向栈顶元素。所以数据入栈的时候,堆栈指针先加1,再压栈。向上增长方式。和计算机的方式一样。
  出栈的时候先弹出数据,堆栈指针再减1。
  如果堆栈的实现是往上长的(就是说往顶的方向长,其实质是你的栈底是定死的不能动,入栈的东西只能不断往上叠,这就像你在书桌上放书一样,桌底是定死的,所以你的书只能一本一本地往上堆,往上长),计算机内部的堆栈的实现采取的就是这种模式,所以就得像你说的那样,“先修改指针,然后插入数据,出栈时刚好相反”,因为你堆栈指针指向的总是栈顶元素,栈底不能动,所以数据入栈前要先修改指针使它指向新的空余空间然后再把数据存进去,出栈的时候自然相反。
  然而,如果堆栈的实现是往下长的(就是说你每压一个元素入栈,栈底就自动下移一个元素的位置,其实质就是这种堆栈模型是一个“无底洞”型),这个时候,你的栈顶就变成了定死的,你就可以先压入元素,然后再修改指针。因为你的栈底是无限的,你压入一个元素,新的元素就取代先前的栈顶元素占据栈顶的位置,那么你先前的指向栈顶元素的指针这个时候就该修改让它指向这个新的栈顶元素了。
  下面的就是对“无底洞”型堆栈的一种实现的描述:
  压栈(入栈):将对象或者数据压入栈中,更新栈顶指针,使其指向最后入栈的对象或数据。
  弹栈(出栈):返回栈顶指向的对象或数据,并从栈中删除该对象或数据,更新栈顶。
  话说回来,计算机内部肯定选第一种模型,不会选第二种,因为第二种模型,每压入一个新的元素,都需要把之前堆栈里的所有元素整体下移动一个元素的位置,腾出栈顶元素的位置让新的元素进来,这种平移可是一笔不小的开销啊!但是并不是说“无底洞”模型就没办法实现了,其实它可以通过第一种模型来模拟的,每需要压入一个新的元素的时候,就先开辟一个空间,数据存入这个空间,然后再修改栈顶元素指针使其指向这个新的栈顶元素。
  换句话说,用链表的话,只要有足够的空间可开辟出来作为一个节点,那么两种堆栈模型都能实现(当然“无底洞”型还是如我上面说的那样用第一种模拟出来的,否则平移的工作量相当可观),如果用数组,由于数组在内存中是连续分配出来的空间,用第一种模型更自然一些。

相关阅读

教你看懂电气原理图与接线图

本文介绍了电气原理图与接线图的小知识,电气原理图根据控制线图原理绘制,看原理图先看主电路,再看控制电路,复杂的控制电路,分割成若干个局部控制电路,与典型电路相对照...
2023-06-26
教你看懂电气原理图与接线图

电工基础:换路定律与初始值的计算(40)

【点击领取】 三菱案例 | 西门子案例 | 电工手册 | 工具箱 软件 【点击获取】 三菱PLC例程117个|西门子PLC例程777个 【点击下载】 2020新电工仿真软件    我们学过的大多数电路分析,...
2023-06-27

水电改造这些坑你经历过吗?装修小白需要避开这两种坑钱猫腻!

对于装修小白而言,无良的装修商家都可以动手脚于无形,而你却丝毫察觉不到,防不胜防。 比如报价,把水泥沙子的钱分到几个房间,每个房间都多加一点儿,多出几百块钱你也不一...
2023-06-11
水电改造这些坑你经历过吗?装修小白需要避开这两种坑钱猫腻!

施工必看!图文解析,电气工程22个常见质量通病如何预防?

电气工程之所以会出现质量通病,究其原因往往是以下五点: (1)策划不细,缺少系统性、持续性培训; (2)管理层专业技术人员缺乏,过程管控不到位; (3)作业层施工人员素质...
2023-06-11

控制指示灯每隔1秒依次闪亮一次

大家好!每天学一点,学习更轻松。关注我,感谢大家为我点赞。 我们前面已经学习了SUM指令,SFTLP指令,现在我们看到来继续学习案例吧。 这个案例是要求我们用一个开关控制7个灯...
2023-03-29
控制指示灯每隔1秒依次闪亮一次

热销商品

耐磨耐油丁腈耐高温氟胶防水环保级硅胶包覆聚四氟橡胶O型密封圈

本款O型密封圈采用多层复合结构设计,外层为环保级硅胶,具备优异的防水、耐候与生物相容性;中间层采用耐磨耐油的丁腈橡胶(NBR),确保在油污环境中长期稳定运行;内层则选用...
1

电焊机焊把线电焊线国标电缆线16 25 35 50 70平方纯铜焊把线

电焊机焊把线,作为焊接作业中不可或缺的一部分,其质量直接关系到焊接质量和安全。国标电缆线1625355070平方纯铜焊把线,严格遵循国家标准,采用纯铜材质,确保了优秀的导...
4.2

100%桑蚕丝香云纱饰品发圈发夹口罩眼罩发带腰封直播专拍单拍无效

100%桑蚕丝香云纱饰品系列,精选天然桑蚕丝与非遗香云纱工艺匠心打造,质感柔滑亲肤,光泽雅致,尽显东方韵味。包含发圈、发夹、口罩、眼罩、发带、腰封等多款实用配饰,适...
1

灭火器检查记录表消防器材点检卡月检查卡套卡片标签定满包邮增票

灭火器检查记录表、消防器材点检卡、月检查卡套、卡片标签等消防器材管理工具,是保障消防设备安全运行的重要辅助工具。这些记录卡和标签用于定期检查灭火器、消防...
0.36

激光保护镜片30*5进口石英焊接机28*4窗口片37*7光纤切割机头配件

激光保护镜片305进口石英焊接机284窗口片377光纤切割机头配件是一种用于激光加工的精密设备,具有高精度、高稳定性和高可靠性的特点。该设备采用了进口石英材料制...
3.5

网站栏目