查ICP网:全新的综合网站备案信息查询网
Copyright © 2008-2028 www.chaicp.com [ 查icp] All Rights Reserved.| 合肥寻云网络科技有限公司 | 营业执照
icp备案号:【皖B2-20160079-16】 增值电信业务经营许可证 【皖B2-20160079】 网站地图 robots文件 皖公网安备: 34010402702277号 不良举报 关于我们 免责申明 广告合作
堆栈是一个特定的存储区或寄存器,它的一端是固定的,另一端是浮动的。
堆这个存储区存入的数据,是一种特殊的数据结构。所有的数据存入或取出,只能在浮动的一端(称栈顶)进行,严格按照“先进后出”的原则存取,位于其中间的元素,必须在其栈上部(后进栈者)诸元素逐个移出后才能取出。在内存储器(随机存储器)中开辟一个区域作为堆栈,叫软件堆栈;用寄存器构成的堆栈,叫硬件堆栈。
单片机应用中,堆栈是个特殊存储区,堆栈属于RAM空间的一部分,堆栈用于函数调用、中断切换时保存和恢复现场数据。堆栈中的物体具有一个特性:第一个放入堆栈中的物体总是被最后拿出来, 这个特性通常称为先进后出 (FILO—First-In/Last-Out)。
堆栈中定义了一些操作, 两个最重要的是PUSH和POP。
PUSH(入栈)操作:堆栈指针(SP)加1,然后在堆栈的顶部加入一 个元素。
POP(出栈)操作相反,出栈则先将SP所指示的内部ram单元中内容送入直接地址寻址的单元中(目的位置),然后再将堆栈指针(SP)减1。
这两种操作实现了数据项的插入和删除。