安装 masm.exe link.exe
- 下载软件 放到目录
e:\assembly-learn - 打开
DOCBOX,挂载mount c e:\assembly-learn,进入目录c: - 编译
masm, 连接link

下载软件 放到目录 e:\assembly-learn

编译 masm 连接 link
软件下载
| 下载地址 |
|---|
| http://blog.fishc.com/602.html |
| 安装指南 |
|---|
| https://blog.csdn.net/doniexun/article/details/45438457 |
第一个程序
编译(对源文件.asm进行编译,生成目标文件.obj)— 使用MASM.EXE

对源文件.asm进行编译,生成目标文件.obj
- 输入
masm,输入指定的路径们,然后一路【回车键Enter】 - 编译源程序文件
1.asm,生成目标文件1.OBJ
连接(对目标文件.obj进行连接,得到可执行文件.exe)— 使用LINK.EXE

对目标文件.obj进行连接,得到可执行文件.exe
- 输入
link,输入指定的路径们,然后一路【回车键Enter】 - 连接目标文件
1.obj,生成可执行文件1.exe
再谈连接的作用
- 1、当
源程序很大时,可以将它分为多个源程序文件来编译,每个源程序编译成为目标文件后,再用连接程序将它们连接到一起,生成一个可执行文件; - 2、程序中调用了某个
库文件中的子程序,需要将这个库文件和该程序生成的目标文件连接到一起,生成一个可执行文件; - 3、一个
源程序编译后,得到了存有机器码的目标文件,目标文件中的有些内容还不能直接用来生产可执行文件,连接程序将这些内容处理为最终的可执行信息;
加载 (command/命令解释器/shell)
-(1)在DOS中直接执行1.exe时,是正在运行的command将1.exe中的程序加载入内存;
-(2)command设置CPU的CS:IP指向程序的第一条指令(即程序的入口),从而使程序得以运行;
-(3)程序运行结束后,返回到command中,CPU继续运行command;
执行(执行.exe)

执行.exe
汇编程序从写出到执行的过程

汇编程序从写出到执行的过程