程序:
assume cs:codesgcodesg segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,axmov ax,4c00Hint 21Hcodesg endsend
伪指令:
伪指令是写给编译器看的,CPU不会执行,在源程序中,包括两种指令,一个是汇编指令,一个是伪指令。汇编指令会生成对应的机器码,而伪指令不会生成机器码,最终不会被CPU执行
- segment和ends
segment和ends是一对成对使用的伪指令,这是在写可被编译器编译的汇编程序时必须要用到的一对伪指令。
功能:定义一个段,segment说明段的开始,ends说明段的结束,一个段必须有一个名称来标识,格式:
段名 segment:
段名 ends
比如上面程序中:
codesg segment:
codesg ends
一个汇编程序由多个段组成,一个有意义的汇编程序中至少要有一个段,这个段用来代码
-
end
功能:一个汇编程序的结束标记
注意:要分清楚end和ends,end是整个程序结束的标志,ends是一个段的结束 -
assume
功能:假设某一段寄存器和程序中的某一用segment…ends定义的段相关联
源程序中的程序:
源程序就是我们写的代码,可以将源程序文件中所有的内容称为源程序,最终由计算机执行的才叫程序
标号:
汇编源程序中,除了汇编指令和伪指令外,还有些标号,比如codesg。一个标号指代一个地址,比如codesg在segment前面,作为一个段的名称,这个段的名称最终将被编译,连接程序处理为一个段的段地址
程序的返回:
mov ax,4c00Hint 21H
这两条指令所实现的功能就是程序返回
在最后再说一下程序是由段构成的