"IBM-PC汇编语言程序设计(6)——子程序结构和设计要点"

需积分: 0 4 下载量 85 浏览量 更新于2024-01-22 收藏 853KB PPT 举报
IBM-PC汇编语言程序设计(6) 第六章:子程序结构 在汇编语言程序设计中,子程序是将功能相对独立的程序段单独编写和调试,作为一个相对独立的模块供程序使用的构造体。子程序的使用可以实现源程序的模块化,简化源程序结构,并提高编程效率。 子程序设计需要利用过程定义伪指令。过程定义伪指令的格式为:过程名 proc [near|far]...过程名 endp。其中,过程名是符合语法的标识符。过程可以具有NEAR属性(段内近调用),此时只能被相同代码段的其他程序调用;也可以具有FAR属性(段间远调用),此时可以被相同或不同代码段的程序调用。根据程序的存储模式不同,过程的缺省属性也不同。在微型、小型和紧凑存储模式下,过程的缺省属性为NEAR;在中型、大型和巨型存储模式下,过程的缺省属性为FAR。用户也可以在过程定义时使用NEAR或FAR关键字来改变缺省属性。 子程序的常见格式为: subname proc ; 具有缺省属性的subname subname endp 子程序设计的重点和难点在于参数传递。参数传递是指在调用子程序时,将数据传递给子程序进行计算和处理。在汇编语言程序设计中,参数传递可以通过寄存器或栈来进行。寄存器传送比较快速,但是寄存器的数量有限,不适用于传递大量的参数。栈传送可以传递大量参数,但是需要频繁地对栈进行操作,相对较慢。根据具体的需求和程序设计的复杂度,可以选择适合的参数传递方式。 另外,子程序还可以嵌套调用和递归调用。嵌套调用是指一个子程序中调用了另一个子程序,可以实现程序逻辑的分解和功能的模块化。递归调用是指一个子程序在自己的代码中调用自己,可以解决某些问题的简洁和优雅性,但也需要谨慎使用,避免出现死循环。 总之,子程序是一种通过将功能相对独立的程序段单独编写和调试的方式,实现源程序的模块化、简化和提高编程效率的一种重要的编程技巧。在子程序设计中,需要利用过程定义伪指令来定义过程的属性,并在调用子程序时进行参数传递。嵌套调用和递归调用也是子程序设计中常见的技巧。通过合理地使用子程序,可以使程序结构更清晰、可读性更强,提高程序的可维护性和可扩展性。