1 堆栈的定义
堆栈也是用户使用的存储器的一部分,用于存放临时性的数据和一些其他信息。堆栈段的定义语法如下:
堆栈名 SEGMENT STACK
(堆栈内容)
堆栈名 ENDS
语法解释:
堆栈定义和一般段的定义的唯一区别在于使用了STACK;
对于堆栈段,系统会在装入程序时自动把SSEG的段基址放入SS寄存器中,堆栈中的字节数自动置入SP寄存器中;
堆栈段中的内容从较大的地址开始分配和使用;
对于8086CPU,进出堆栈的只能是2字节的数据。
2 堆栈的使用方法
常用的堆栈相关指令包括PUSH POP PUSHF和POPF,语法如下:
PUSH 源操作数 ;将指定操作数入栈保护
POP 目的操作数 ;将栈顶操作数恢复到指定位置
PUSHF ;标志寄存器内容入栈保护
POPF ;标志寄存器出栈恢复
|