第五章?在汇编语言中,子程序又称为过程, 是程序设计中的一种重要方法。在实际的程序中,常常会遇到在同一程序或多个程序中多次遇到同一任务的处理过程。如果每一次处理都编写一次程序,不仅加大了编程人员的工作量,也浪费存储空间。?为了避免重复编程,人们将经常遇到的处理任务编写成一些独立的程序段,以供其他程序调用,这就是子程序设计。为了能更好地把握子程序的编写和使用方法,必须先掌握堆栈的有关概念。 堆栈 子程序的调用与返回 子程序设计 子程序设计案例习题5 堆栈?在汇编语言和机器语言中, 堆栈在物理结构上是一段存放数据的连续的内存区域, 以及一个称为栈顶指针的专用存储单元。?堆栈中只能存入 16位的字型数据, 存入数据的操作称为“进栈”或“压栈”,已存入的数据也可以取出, 称为“出栈”或“弹出”,数据的存取操作由专用指令完成。?从逻辑上说,堆栈是一种按“先进后出”或“后进先出”原则进行操作的数据结构,栈顶指针用于指出入栈操作和出栈操作的位置。 建立堆栈?图5-1 是堆栈的物理结构示意图. ?图中标出的 SS和SP是与堆栈密切相关的寄存器, SS存放堆栈所占用内存区域的段地址, SP所指向的位置称为栈顶。图5-1 堆栈的逻辑结构图?一个程序如果要使用堆栈,首先要建立堆栈。建立堆栈实际上就是在程序中定义一个堆栈段,并给 SS和 SP赋值即可。?定义堆栈段的格式如下: ?段名 SEGMENT STACK ? DW n DUP(?) ?段名 ENDS ?【说明】?(1)保留字 STACK 是堆栈段的专用符号, SEGMENT 后面的保留字 STACK 表明这个段专供堆栈使用。?(2)段定义中用“DW n DUP(?) ”说明堆栈所用内存区的大小为 2n字节,其中 n是一个常量。可根据程序需要,调节堆栈段的大小。因为堆栈只能存放字型数据, 所以习惯上都是用 DW伪指令来定义栈的大小。这不并是说用其它伪指令不行。
汇编第5章子程序设计 来自淘豆网m.daumloan.com转载请标明出处.