程序从写出到执行的过程
- 1、使用文本编辑器,使用汇编语言编写汇编源程序。
- 2、对源程序进行编译链接。
汇编链接的过程:
1、产生目标文件。
2、使用连接程序对目标文件进行链接,生成可在操作系统中直接运行的可执行文件。
可执行文件包含两部分内容:
1、程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
2、相关的描述信息(比如,程序有多大、要占用多少内存空间等)
- 执行可执行文件中的程序。
伪指令
- 在汇编语言程序中,包含两种指令,一种是汇编指令,一种是伪指令。
- 伪指令需要通过编译器转换为对应的汇编指令
伪指令—段名 segment…段名 xxx ends
- segment和ends是对成对使用的伪指令,其功能是定义一个段。
伪指令—end
- end是一个汇编程序的结束标记。
汇编指令assume
- 此条伪指令的含义为“假设”。它假设某一段寄存器和程序中的某一个用segment…ends定义的段相关联。例如:assume cs:codeseg
标号
- 汇编源程序中,除了汇编指令和伪指令外,还有一些标号,比如“codeseg”。一个标号指代了一个地址。比如codeseg在segment的前面,作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的段地址。
程序返回指令:
- 1、mov ax,4c00H
- 2、int 21H
- 上述2条指令在程序的末尾使用可以实现对应程序段的返回。
汇编连接的作用
- 1、当源程序很大时,可以将它分为多个源程序文件来编译,每个与源程序文件编译成为目标文件后,再用连接程序将它们连接到一起,生成一个可执行文件。
- 2、程序中调用了某个库文件中子程序,需要将这个库文件和该程序生成的目标文件连接到一起,生成一个可执行文件。
- 3、一个源程序编译后,得到了存有机器码的目标文件,目标文件中的有些内容还不能直接用来生成可执行文件,连接程序将这些内容处理为最终的可执行信息。所以在只有一个源程序文件,而又不需要调用某个库中的子程序的情况下,也必须用连接程序对目标文件进行处理,生成可执行文件。
汇编程序从写出到执行的过程
- 1、编程(编辑器)—生成x.asm文件
- 2、编译(masm)—生成x.obj文件
- 3、连接(link)—生成x.exe文件
- 4、加载(command)—内存中的程序
- 5、运行—通过CPU