44子程序与扩展子程序 在程序设计中,常常会遇到某些功能完全相同 的程序段在同一程序的多处或不同程序中出现, 如求一个数的阶乘,比较两数大小,求字符串 的长度,数制转换等等。为了节省存贮空间, 减少编制程序的重复劳动,可以将这些多次重 复的程序段从整个程序中独立出来,附加一些 额外语句,将它编制成一种具有公用性的,独 立的程序段——子程序,并通过适当的方法把 它与其他程序段链接起来,这种程序设计的方 法就称为子程序设让
4.4 子程序与扩展子程序 ◼ 在程序设计中,常常会遇到某些功能完全相同 的程序段在同一程序的多处或不同程序中出现, 如求一个数的阶乘,比较两数大小,求字符串 的长度,数制转换等等。为了节省存贮空间, 减少编制程序的重复劳动,可以将这些多次重 复的程序段从整个程序中独立出来,附加一些 额外语句,将它编制成一种具有公用性的,独 立的程序段——子程序,并通过适当的方法把 它与其他程序段链接起来,这种程序设计的方 法就称为子程序设计
子程序结构的优点: ■可以减小程序的长度,节省了计算机汇 编源程序的时间和程序的存储空间。 子程序可以重复使用,使得程序设计时 间可以大量节省 ■增加了程序的可读性,方便对程序的修 改、调试 子程序是模块化、结构化、自顶向下程 序设计的基础
子程序结构的优点: ◼ 可以减小程序的长度,节省了计算机汇 编源程序的时间和程序的存储空间。 ◼ 子程序可以重复使用,使得程序设计时 间可以大量节省。 ◼ 增加了程序的可读性,方便对程序的修 改、调试。 ◼ 子程序是模块化、结构化、自顶向下程 序设计的基础
MASM6x子程序定义的方法 般过程定义(子程序)伪指令。 子程序在汇编语言中也称为过程 ( Procedure),它相当于高级语言C++ 的函数和VB的过程 ■扩展过程定义(扩展子程序)伪指令
MASM6.x子程序定义的方法 ◼ 一般过程定义(子程序)伪指令。 子程序在汇编语言中也称为过程 (Procedure),它相当于高级语言C++ 的函数和VB的过程 ◼ 扩展过程定义(扩展子程序)伪指令
一般过程定义(子程序)伪指令 过程定义的一般格式为: 过程名PROC[ NEAR/FAR] ;过程定义体 RET 过程名ENDP
一般过程定义(子程序)伪指令 ◼ 过程定义的一般格式为: 过程名 PROC [NEAR/FAR] . . ;过程定义体 . RET 过程名 ENDP
过程名由程序员来命名,命名方法同变量名, 同一源程序中不能有相同的过程名 PROC为过程定义开始伪指令,ENDP为过程定 义结東伪指令, PROC-ENDP必须配对使用;配 对的 PROC-ENDP前面的过程名应相同 NEAR/FAR定义了过程的属性,NEAR属性的过 程只能被相同代码段的程序调用,称为段内近 调用;FAR属性的过程只能被相同或不同 代码段的程序调用,称为段间远调用
◼ 过程名由程序员来命名,命名方法同变量名, 同一源程序中不能有相同的过程名。 ◼ PROC为过程定义开始伪指令,ENDP为过程定 义结束伪指令,PROC-ENDP必须配对使用;配 对的PROC-ENDP前面的过程名应相同。 ◼ NEAR/FAR定义了过程的属性,NEAR属性的过 程只能被相同代码段的程序调用,称为段内近 调用;FAR 属性的过程只能被相同或不同 代码段的程序调用,称为段间远调用