汇编--子程序结构

过程名 PROC NEAR ( FAR )

过程名 ENDP

子程序的类型属性

(1)NEAR属性:调用程序和子程序在同一代码段中 (段内调用)

(2)FAR属性:调用程序和子程序不在同一代码段中 (段间调用)

子程序调用:隐含使用堆栈保存返回地址

子程序与分支程序的最大区别

子程序执行完要返回到主程序,也就是返回到CALL指令的下一条继续执行。在子程序中用RET指令作为返回指令。主程序和子程序的关系如图所示。 

RET 返回指令

 

 

主程序将子程序的入口参数压入堆栈,子程序从堆栈中取出参数

子程序将出口参数压入堆栈,主程序弹出堆栈取得它们

 

 

结构伪操作 STRUC: 定义一种可包含不同类型数据的结构模式

 

格式: 结构名 STRUC 字段名1 DB ? 字段名2 DW ? 字段名3 DD ? …… 结构名 ENDS

汇编--子程序结构_第1张图片

局部符号:在本模块中定义,又在本模块中引用的符号

外部符号:在某一个模块中定义,而又在另一个模块中引用的符号。

 

 

PUBLIC 符号 EXTRN 符号:类型

多个模块之间的参数传送:

局部符号:在本模块中定义,在本模块中引用的符号

外部符号:在某一模块中定义,在另一模块中引用的符号

PUBLIC 符号 EXTRN 符号:类型

 

 

 

LOCAL伪指令

功能:为局部变量申请空间

 

你可能感兴趣的:(汇编--子程序结构)