程序

汇编指令和伪指令

  • 汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为 CPU 所执行
  • 伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作

如下列举出几种伪指令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# segment 和 ends 的功能是定义一个段,segment 是一个段的开始,ends 是一个段的结束
# 有意义的汇编程序中至少要有一个段,这个段用来存放代码
XXX segment
XXX ends

# 汇编程序的结束标识,编译器在编译汇编的时候,如果碰到了伪指令 end,就结束对源程序的编译
end

# 假设某一段寄存器和程序中的某一个用 “segment ... ends” 定义的段相关联,通过 assume 说明这种关联
如下,定义了一个名为 codeesg 的段,并且用 "assume cs:codeesg" 将用作代码段 codeesg 和段寄存器 cs 相关联
assume cs:codeesg
codeesg segment
...
codeesg ends
end

程序返回

1
2
mov ax, 4c00H
int 21H

如上两句汇编代码的作用:一个程序结束后,将 CPU 的控制权交还给使他得以运行的程序。这个过程称为:程序返回。

汇编程序的编译、链接

1
2
masm 编译
link 链接