环境搭建
开发汇编语言程序,首先需要安装开发软件,熟悉开发平台。
开发环境
在DOS和Windows操作系统下,最流行微软汇编程序MASM,Borland公司的TASM也常用,两者相差不大。在Linux操作系统下,标准的汇编程序是GAS,NASM也较常用。
开发软件包
MASM5.0搭建开发环境需要用到如下工具:
里面包含:MASM5.0、MASM6.0和DOSBox0.74
链接:https://pan.baidu.com/s/1fqbjBbmWWdU3z8CRmpW-tQ 提取码:8gj6
编译程序只需要MASM、LINK、DEBUG即可,编辑器可以考虑使用NotePad++。
MASM.EXE:汇编程序,用于汇编源程序(.asm),得到目标程序(.obj);
LINK.EXE:连接程序,用于连接目标程序,得到可执行程序(.exe);
DEBUG.EXE:调试程序,用于调试可执行程序。
下面的步骤看看就好,推荐使用VSCode + MASM/TASM插件构建开发环境:
VSCode官网:https://code.visualstudio.com/
开发环境的具体搭建步骤如下:
1、安装DOSBox,可以安装到任意位置。
2、在任意盘符下创建Assembly(自定义)的文件夹,里面包含ASM和MASM。
ASM:用来存放要编译的汇编程序,也就是源码目录
MASM:用来存放编译程序MASM.EXE、LINK.EXE、DEBUG.EXE等三个文件
3、由于每次配置都非常麻烦,所以在DOSBox 0.74 Options.bat
中的结尾处添加配置(双击打开):
# 挂载驱动器(将放汇编程序、编译工具文件夹挂载到一个虚拟盘)
mount G: D:Assembly
# 添加系统临时变量(此时的 G: 代表的是D:Assembly)
set PATH=%PATH%;G:MASM;
# 转到 G:
G:
# 进入ASM文件夹
cd G:ASM
4、编写汇编源程序代码,代码如下所示:
;hello.asm(文件名)
.model small
.stack
.data
msg db'Hello,Assembly!',13,10,'$' ;定义要显示的字符串
.code
.startup
mov dx,offset msg ;指定字符串在数据段的偏移地址
mov ah,9 ;AH赋值9
int 21h ;利用功能调用显示信息
.exit
end
5、输入如下命令进行编译、链接和运行等操作(如果使用MASM5.0编译会出错)
masm hello.asm
link hello.obj
debug hello.exe
当遇到空行显示直接回车即可。如果debug后不显示按g再回车就可以显示打印内容。
6、编译出错要改用MASM6.15,直接拖拽hello.asm到ml.exe文件上会生成hello.obj文件,然后执行命令:
link hello.obj
hello.exe
注意:由于ml.exe是32位程序,所以不能使用命令运行在DOSBOX中。
如果DOSBox初始的界面很小,且不能直接拉伸界面,可以配置修改大小:
双击打开DOSBox 0.74 Options.bat
(别右键编辑)
windowresolution=original
output=surface
修改为:
windowresolution=1280x800 # 这个是小写字母 x
output=opengl