栈是一种具有特殊访问形式的存储空间,特殊性在于数据后进先出。


8086提供入栈(PUSH)和出栈(POP)指令:比如push ax表示将AX寄存器中数据送入栈中,pop ax表示将栈顶取出数据送入AX寄存器中(数据的存取按小端存放的规则)

8086 中的栈-编程知识网

8086 中的栈-编程知识网

mov ax,0123H

push ax

mov bx 2266H

push bx

mov cx 1122H

push cx

pop ax

pop bx

pop cx


有关栈存储空间的位置,8086提供了ss(段寄存器):sp(偏移地址8086 中的栈-编程知识网


push ax

先将sp = sp-2

然后将数据压入栈空间

pop ax

先将数据传到AX中,然后sp = sp + 2

8086 中的栈-编程知识网


栈的操作都是以字为单位的。