对汇编中子程序结构的认识

来源:互联网 发布:淘宝卖家使用尺码 编辑:程序博客网 时间:2024/06/05 04:22

基于IA-32处理器和32位汇编语言

一:子程序指令

子程序调用伪指令:

CALL   LABEL  

CALL   REG16/32

CALL   MEM16/32

子程序返回伪指令:

REG

REG   I16

过程定义伪指令:

过程名    PROC  

     ……………  ;过程体

过程名     ENDP

二:子程序设计

三:参数传递

如果是值传递,不影响主程序,如果是地址传递,可能影响主程序。

1     寄存器传递参数

有出口参数的寄存器不能进行保护和恢复,即在子程序中不能有堆栈操作,没有出口参数的寄存器可以进行保护也可以不保护。

2     共享变量传递参数

3     堆栈传递参数

注意:要将EBP压人栈中去读取数据。

四:程序模块

1      子程序模块

将子程序单独汇编成为目标文件.OBJ,要用PUBLIC和EXTERN 声明一些变量。

2      库文件

格式:BIN\LIB32/OUT: EG0419.LIB  EG0419.OBJ

将目标文件转换为库文件。

3      库文件包含

格式:INCLUDE   文件名

4      宏汇编

宏定义:格式:

宏名    MACRO   形参

        宏定义

ENDM

宏调用:格式:

宏名     实参

5      源文件包含

格式:

INCLUDE    文件名

以上就是我对于汇编中子程序结构的认识。

 

 

          


0 0
原创粉丝点击