8086cpu有14个寄存器分别为:ax,bx,cx,dx,si,di,sp,bp,ip,cs,ss,ds,es,psw
ds存放数据段
cs于偏移地址ip表示代码段
ss于偏移地址sp表示栈段
栈
push(入栈),pop(出栈)
push ax表示把ax中的数据入栈
pop ax表示把从栈顶取出数据放入ax中
段寄存器ss和寄存器sp分别表示ss存储栈顶的段地址 ,sp存储偏移地址,任意时刻ss:sp指向栈顶元素
push ax的执行
sp = sp-2
将ax中的内容送入ss:sp指向的内存单元
pop ax的执行
将ss:sp指向的内存单元的数据放入ax中
8086cpu不保证栈不会越界,它只知道栈顶在何处,而不知道栈空间有多大sp = sp+2