基本概念
基本操作
1.入栈:将一个新的元素放到栈顶。
2.出栈:从栈顶取出一个元素。
操作规则:LIFO(后进先出)。
CPU提供的栈机制
PUSH入栈与POP出栈。
push ax:将寄存器ax中的数据送入栈中。
pop ax:从栈顶取出数据送入ax。
注:8086CPU的入栈和出栈操作都是以字为单位进行的。
在8086CPU中,有两个寄存器:
段寄存器SS:存放栈顶的段地址。
寄存器SP:存放栈顶的偏移地址。
且任意时刻SS:SP都指向栈顶元素。
PUSH和POP
push ax
1.SP = SP - 2;
2.将ax中的内容送入SS:SP指向的内存单元处,此时SS:SP指向新栈顶。
pop ax
1.将SS:SP指向的内存单元处的数据送入ax中;
2.SP = SP + 2,SS:SP指向当前栈顶下面的单元,以当前栈顶下的单元为新的栈顶。