天天看点

汇编语言学习之编写第一个程序

程序从写出到执行的过程

  • 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

继续阅读