[014][汇编语言]第一个程序 编译 连接 加载 执行

安装 masm.exe link.exe

  • 下载软件 放到目录e:\assembly-learn
  • 打开DOCBOX,挂载 mount c e:\assembly-learn,进入目录c:
  • 编译 masm, 连接 link
[014][汇编语言]第一个程序 编译 连接 加载 执行_第1张图片
下载软件 放到目录 e:\assembly-learn

[014][汇编语言]第一个程序 编译 连接 加载 执行_第2张图片
编译 masm 连接 link

软件下载

下载地址
http://blog.fishc.com/602.html
安装指南
https://blog.csdn.net/doniexun/article/details/45438457

第一个程序

编译(对源文件.asm进行编译,生成目标文件.obj)— 使用MASM.EXE

[014][汇编语言]第一个程序 编译 连接 加载 执行_第3张图片
对源文件.asm进行编译,生成目标文件.obj
  • 输入masm,输入指定的路径们,然后一路【回车键Enter】
  • 编译源程序文件 1.asm ,生成目标文件 1.OBJ

连接(对目标文件.obj进行连接,得到可执行文件.exe)— 使用LINK.EXE

[014][汇编语言]第一个程序 编译 连接 加载 执行_第4张图片
对目标文件.obj进行连接,得到可执行文件.exe
  • 输入link,输入指定的路径们,然后一路【回车键Enter】
  • 连接目标文件 1.obj,生成可执行文件 1.exe

再谈连接的作用

  • 1、当源程序很大时,可以将它分为多个源程序文件编译,每个源程序编译成为目标文件后,再用连接程序将它们连接到一起,生成一个可执行文件
  • 2、程序中调用了某个库文件中的子程序,需要将这个库文件和该程序生成的目标文件连接到一起,生成一个可执行文件
  • 3、一个源程序编译后,得到了存有机器码的目标文件目标文件中的有些内容还不能直接用来生产可执行文件连接程序将这些内容处理为最终的可执行信息;

加载 (command/命令解释器/shell)

-(1)在DOS中直接执行1.exe时,是正在运行的command1.exe中的程序加载入内存;
-(2)command设置CPUCS:IP指向程序的第一条指令(即程序的入口),从而使程序得以运行;
-(3)程序运行结束后,返回到command中,CPU继续运行command

执行(执行.exe)

执行.exe

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

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

你可能感兴趣的:([014][汇编语言]第一个程序 编译 连接 加载 执行)