文章目录
- DOS环境下运行汇编源程序
-
- 必备软件
- 运行宏汇编程序的流程
- 编译执行的命令
-
- 简单方式
- 提问方式
- 多模块程序的运行及子程序库的使用
-
- 多模块程序的运行
-
- 简单方式
- 提问方式
- 子程序库的使用
-
- 提问方式
- 应用举例
- windows下运行汇编源程序的方法
-
- 32位汇编必备软件
- Windows环境汇编的特点
DOS环境下运行汇编源程序
必备软件
- DOS系统
- 宏汇编程序
- 符 交叉处理程序(可选)
- 16位段连接程序:LINK.EXE
- 库管理程序:LIB.EXE
- 16位段调试程序:TURBO DEBUG(TD.EXE)
运行宏汇编程序的流程
- 建立汇编源文件,扩展名为.ASM
- 汇编,产生目标文件(.OBJ),此过程是通过宏汇编程序MASM实现的
- 连接目标文件,建立可执行文件(.EXE),此过程是通过16位段的连接程序LINK实现的
- 运行可执行文件,直接键入文件名即可运行
编译执行的命令
简单方式
MASM TEST;
LINK TEST;
TEST
- 分 表示使用简单方式,不用提问,全部默认
- 调用宏汇编程序 MASM.EXE,汇编源文件为TEST.ASM,生成TEST.OBJ
- 调用连接程序 LINK.EXE,生成可执行文件 TEST.EXE
- 执行TEST.EXE文件
提问方式
- 不加分 ,即可进入提问方式
- 汇编提出的问题:源文件名、目标文件名、是否建立汇编列表文件LST、是否建立符 交叉引用文件CRF
- 汇编列表文件LST可以打开看,符 交叉引用文件CRF则还需要经过交叉引用程序CREF.EXE进行处理,生成符 交叉列表文件EXAM.REF才能打开看
- 连接提出的问题:要连接的目标文件、产生的可执行文件名、是否建立地址分配文件、是否要连接子程序库
多模块程序的运行及子程序库的使用
多模块程序的运行
如果一个程序,由多个模块组成,应该分别汇编,生成目标模块,再由连接文件,一起生成可执行文件
简单方式
LINK A+B+C;
默认的可执行文件以A命名
提问方式
目标名、生成的可执行文件名、MAP文件名、是否连接子程序库
子程序库的使用
处理复杂问题时,往往需要把反复使用的子程序集合在一起,组成子程序库(.LIB)
提问方式
LIB的提示信息及回答
提示信息 | 回答 |
---|---|
Library name : | 要进行操作的库名 |
Opration: | 命令字符及模块名或目标文件名 |
List file | 交叉引用列表文件名 |
库管理命令字符
命令字符 | 功能 |
---|---|
+ | 把目标代码文件作为最后一个模块加入库中 |
– | 从库中删除一个模块 |
* | 从库中取出模块,写入目标文件中 |
; | 剩下的提示缺省值 |
& | 提示信息在一行内回答不下时,键入此字符将另起一行 |
ctrl + c | 终止库管理操作 |
应用举例
例子:建立一个子程序库(WAN.LIB),将子模块QUEUE、F10T2、F2T10放入该库
- 建立子模块的源文件
- 将子模块源文件分别汇编
- 调用LIB将目标文件加入库中,按提示操作
windows下运行汇编源程序的方法
32位汇编必备软件
- Windows操作系统
- 常量和结构体预定义头文件:WINDOWS.INC
- 常用的API函数声明头文件:KERNEL.INC,USER32.INC,GDI32.INC
- 引入库:KERNEL.LIB,USER32.LIB,GDI32.LIB
- 宏汇编程序6.11版本以上ML.EXE
- 预定义头文件:RESOURCE.H
- 资源编译器:RC.EXE和CVTRES.EXE
- 32位段符 交叉引用处理程序:CREF.EXE,用来处理符 交叉引用文件(.SBR),生成符 交叉列表文件(.REF),如果调用了系统API,生成的REF将会十分复杂
- 32位段连接程序LINK.EXE,连接COFF格式的目标文件
- 库管理程序LIB.EXE
- 32位段调试程序:TURBO DEBUG(TD32.EXE)
Windows环境汇编的特点
- 从提问方式,变为提供多种开关供用户选择
- 连接程序的交互也通过开关选择实现
- 开关可以通过 ML / 询
常用的开关功能:
指令 | 功能 |
---|---|
/c | 表示只汇编不连接 |
/Fl | 汇编的同时生成列表文件 |
/FR | 汇编的同时生成符 交叉引用文件(.SBR) |
/coff | 表示用coff格式产生目标文件 |
/Bl | 汇编连接同时进行 |
/Fm | 在连接时同时生成地址分配文件 |
/link | 表示要连接子程序库 |
/LIBPATH | 当引入库与目标文件不在一个子目录中,用此开关指定路径 |
/Cp | 告诉MASM不要更改用户标识符的大小写 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!