汇编--子程序结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编--子程序结构相关的知识,希望对你有一定的参考价值。
过程名 PROC NEAR ( FAR )
过程名 ENDP
子程序的类型属性
(1)NEAR属性:调用程序和子程序在同一代码段中 (段内调用)
(2)FAR属性:调用程序和子程序不在同一代码段中 (段间调用)
子程序调用:隐含使用堆栈保存返回地址
子程序与分支程序的最大区别
子程序执行完要返回到主程序,也就是返回到CALL指令的下一条继续执行。在子程序中用RET指令作为返回指令。主程序和子程序的关系如图所示。
RET 返回指令
主程序将子程序的入口参数压入堆栈,子程序从堆栈中取出参数
子程序将出口参数压入堆栈,主程序弹出堆栈取得它们
结构伪操作 STRUC: 定义一种可包含不同类型数据的结构模式
格式: 结构名 STRUC 字段名1 DB ? 字段名2 DW ? 字段名3 DD ? …… 结构名 ENDS
局部符号:在本模块中定义,又在本模块中引用的符号
外部符号:在某一个模块中定义,而又在另一个模块中引用的符号。
PUBLIC 符号 EXTRN 符号:类型
多个模块之间的参数传送:
局部符号:在本模块中定义,在本模块中引用的符号
外部符号:在某一模块中定义,在另一模块中引用的符号
PUBLIC 符号 EXTRN 符号:类型
LOCAL伪指令
功能:为局部变量申请空间
以上是关于汇编--子程序结构的主要内容,如果未能解决你的问题,请参考以下文章
通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的