简单的说一说。(栈的特性我在此就不做赘述了,LIFO)
CPU提供的栈机制
- 现今的CPU中都有栈的设计。
- 8086CPU提供相关的指令,支持用栈的方式访问内存空间。
- 基于8086CPU的编程,可以将一段内存当作栈来使用。
操作:(栈的操作都是一个字,不是字节)
入栈:push
出栈:pop
问题:CPU怎么知道一段内存空间被当作栈使用?执行push和pop的时候,怎么知道哪个单元是栈顶单元?
回答:栈段寄存器SS(存放栈的段地址),栈顶指针寄存器SP(存放栈顶的偏移位置)。任意时刻,SS:SP指向栈顶位置。