堆栈与堆栈操作(堆栈也叫做栈)
相关资料参照蒋本珊编著的计算机组成原理(第3版)第63页
堆栈分类
1.硬堆栈(寄存器堆栈)
用一组专门的寄存器构成,若有k-1个寄存器则最多只能压入k个信息,否则将丢失信息。这种堆栈不用设置栈顶指针。
2.软堆栈(存储器堆栈)
寄存器堆栈的成本比较高,不适合作大量的堆栈,而从主存中划出一段区域来作为堆栈是最合算和最常用的方法,这种堆栈叫做软堆栈。堆栈的大小可变,栈底固定、栈顶浮动,需要有一个专门的硬件寄存器作为堆栈的栈顶指针。
(其中,存储器堆栈又分为:自底向上堆栈和自顶向下堆栈)
堆栈操作
参加运算的两个操作输隐含地从堆栈的顶部弹出,送到计算器中进行运算,运算的结果再隐含的压入堆栈。