汇编--子程序结构

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程序,分析汇编代码理解计算机是如何工作的

从目标文件结构,加载执行阶段,汇编角度来理解C程序内存分区

[架构之路-22]:目标系统 - 系统软件 - 汇编语言结构与X86指令系统以及CPU的工作原理函数调用与堆栈操作

计算机工作原理简介