汇编程序分两种: 一种是基本汇编(ASM.EXE); 一种是宏汇编(MASM.EXE); 宏汇编功能比较强.
检查源程序; 测出源程序中的语法错误,并给出出错信息; 产生目标文件(.OBJ),并可给出列表文件(同 时列出汇编语言源程序和机器语言目标程序的文 件,称之为.LST文件)和交叉索引文件(列出程 序中使用的符号,变量和标号以及引用情况,称 之为.CRF文件). 展开宏指令.
例1. 宏定义可以无变元
宏定义:SAVEREG MACRO 宏定义开始 PUSH AX PUSH BX 宏指令 PUSH CX PUSH DX 宏定义体 PUSH SI PUSH DI 宏定义结束 ENDM 宏调用: SAVEREG 宏展开: 将宏定义体的内容(具有独立功能的代码段)全部 列出.
例2 宏定义带形式参数
(3) 格式: PURGE 符号名1[,符号名2[,…… ]]
取消(释放)被EQU定义的符号名,以后即可用EQU对该符号名 再赋予不同的含义.
3. 段定义
段定义说明符有3种,即SEGMENT,ENDS和ASSUME, 含义分别是段开始,段结束,指定段寄存器.
(1)格式: 段名 SEGMENT[定位类型][组合类型][类别] 从段名代表的段基值开始定义一个段.其中的定位类型,组 合类型和类别一般都可省略,若不省略时各项的顺序不能变. ① 定位类型: 连接时用于指定该段应开始于什么样的物理地 址.可选择下列4种之一:
6.4 汇编语言程序的开发
汇编语言程序的建立及汇编过程
编辑程序 Edit.exe
Prog.asm 文件
汇编程序 Masm.exe
Prog.obj 文件
Prog.exe 文件
连接程序 Link.exe
汇编示意图