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
现对程序说明
1.伪指令
伪指令没有对应的机器指令,最终不被CPU执行。它由编译器执行–编译器根据伪指令来进行相关的编译工作。
(1)XXX sgment
XXX ends
sgment 与ends是一对成对使用的伪指令,其功能是定义一个段。XXX为段名,用来标识一个段。
(2)end
是一个汇编程序结束的标记。编译器在编译程序的过程中如果遇到伪指令 end就结束对程序的汇编。
(3)assume
这条伪指令的含义是假设,它假设某一段寄存器和程序中的用segment… ends定义的段相关联。
2.源程序中的程序
源程序中最终由计算机执行处理的指令或数据,称为程序。
3.标号
一个标号指代了一个地址。如标号codesg在sgment的前面,作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的段地址。
汇编程序从写出到执行的过程
编程 → 1.asm → 编译 → 1.obj → 连接 → 1.exe → 加载 → 内存中的程序 → 运行
(edit) (masm) (link) (command) (cpu)