当前位置:C++技术网 > 资讯 > 第一个简单地汇编程序的实现过程

第一个简单地汇编程序的实现过程

更新时间:2016-01-20 19:45:03浏览次数:1+次

一个汇编程序从写出到最终执行的简要过程:
第一步:编写汇编源程序:使用文本编辑器
第二步:对源程序进行编译链接:使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用连接程序对目标文件进行连接,生成可在操作系统直接运行的可执行文件。
可执行文件包含两个部分:
程序和数据
相关的描述信息
第三步:执行可执行文件中的程序

一段简单的汇编语言源程序:

assume cs:codesg

codesg segment

	mov ax, 0123H
	mov bx, 0456H
	add ax, bx
	add ax, ax

	mov ax, 4c00H
	int 21H

codesg ends

end
在汇编语言源程序中,包含两种指令,一种是汇编指令,一种是伪指令。汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终由CCPU执行。而伪指令没有对应的机器指令,最终不被CPU执行。由编译器执行。
segment和ends是一对成对使用的伪指令,这是在写被编译器编译的汇编程序时,必须用到的一对伪指令。segment和ends的功能是定义一个段,segment说明一个段开始。ends说明一个段的结束。一个段必须有一个名称来标识,使用格式为:
段名 segment
...
段名 ends
一个汇编程序是由多个段组成的,这些段被用来存放代码,数据,或当做栈空间来使用。
end是一个汇编程序的结束标记,编译器在编译汇编程序的过程中,如果碰到了伪指令end,就结束对源程序的编译。如果没有的话,编译器在编译源程序的时候。无法知道程序在何处结束。
assume这条伪指令的含义是“假设”。他假设某一段寄存器和程序中某一个用segment..ends定义的段相关联。对于这条伪指令,我们只要记者,assume将有特定用途的段和相关的段寄存器关联起来即可。
程序最先以汇编指令的形式存在源程序中,经编译,链接后转变为机器码。存储在可执行文件中
mov ax, 4c00H
int 21H
这两条指令所实现的功能就是程序返回。相当于我们写C的时候的return .