汇编语言与接口技术课件 h3-8 源程序的结合.ppt
文本预览下载声明
* 3.8 源程序的结合 在源程序中使用INCLUDE伪指令,汇编时汇编程序会将多个文本文件中源程序结合到一起。 格式:INCLUDE 文件名 (文件名可带有盘符和路径,采用DOS 有关规则表示)。 伪指令INCLUDE指示汇编程序将指定的文本文件从本行起加入汇编, 直到该文本文件的最后一行汇编完后,继续汇编随后的语句。 例3.72 (1) MAIN.ASM 文件 ·MODEL SMALL ·STACK 100 ·DATA INCLUDE DATA.ASM ·CODE ·STARTUP MOV BX,OFFSET BUF ;BUF在DATA.ASM中 ┆ CALL DISP ;DISP在DATASUB.ASM中 ┆ ·EXIT INCLUDE DATASUB.ASM END (2) 本文件DATA.ASM包含的数据部分如下: BUF DB 20 DUP(?) LPO DW 20H (3) 文本文件DATASUB.ASM包含的过程部分如下: DISP PROC ┆ RET DISP ENDP 可以将常用的宏指令存储在同一个文件中,在程序中使用INCLUDE指令将此文件包含进来。 包含宏的INCLUDE指令一般放在代码段之前特别是必须在使用宏之前插入。 例3.73 假设程序中定义了5个宏:CLC、SHIFT、UP、DONE、READ。 这5个宏存放在ABC.INC文件中。 在START.ASM文件中可以使用INCLUDE ABC.INC指令,汇编程序则可以从ABC.INC文件中找到START.ASM文件中使用的宏的定义。(P106) CLC MACRO …… ENDM SHIFT MACRO …… ENDM UP MACRO …… ENDM DONE MACRO …… ENDM READ MACRO …… ENDM (2) ABC.INC文件 .MODEL SMALL .STACK 100 INCLUDE ABC.INC .DATA BUF DB 20 DUP(?) .CODE .STARTUP CLC MOV AL,BL SHIFT CMP AL,0 JZ LP1 UP JMP LP2 LP1: DONE LP2: .EXIT END (2) START.ASM文件 3.9 多模块程序设计 将程序分为多个模块,分别编译为多个OBJ文件,再通过连接程序连接为一个EXE文件。模块之间数据或者参数的正确传递,需要使用PUBLIC和EXTRN伪指令。 PUBLIC伪指令:(公用的)表明数据、代码的标号或整个段在其他程序模块中都是可用的。 EXTERN伪指令:(外部的)表明它对应的语句标号处于别的模块中。 1.PUBLIC伪指令 PUBLIC伪指令用以表明一个标号是公共的,它可以被其他模块使用。 该标号可以是跳转地址、一个数据地址或整个段。 一般格式如下: PUBLIC NAME [ ,NAME,....]
显示全部