一、在汇编语言源程序中,包括两种指令,一种是汇编指令,一种是伪指令
1.汇编指令
汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行。
2.伪指令
没有对应的机器指令,最终不被CPU所执行。是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。
一段简单的汇编语言源程序:
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
segment和ends是一对成对使用的伪指令,是在被编译器编译的汇编程序,必须要用到的一对伪指令。
1).segment和ends的功能是定义一个段,定义段的开始与结束
2).end
伪指令end,汇编程序的结束标记,结束对源程序的编译
3).assume
伪指令assume,在这里是“假设”的作用,把下面的段与相关的寄存器关联起来。
note:ends与end的区别:一个是段的结束,一个是程序的结束
e.g:编译一个汇编程序,计算2^3,段名为abc.
assume cs:abc
abc segment
mov ax,2
add ax,ax
add ax,ax
abc ends
end
二、程序的返回指令
一个程序结束后,将CPU的控制权交还给使它得以运行的程序,我们称这个过程为:程序返回。
mov ax,4c00H
int 24H
一个完整的汇编程序
assume cs:abc
abc segment
mov ax,2
add ax,ax
add ax,ax
mov ax,4c00H
int 24H
abc ends
end