汇编语言 1. 源程序 1.1 伪指令 汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行伪指令没有对应的机器指令,最终不被CPU所执行伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作 1.2 段(segment) 一个段必须有一个名称来标识使用格式为: 段名 segment . . . 段名 ends 一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当做栈空间来使用一个源程序中所有将被计算机处理的信息:指令、数据、栈,被划分到了不同的段中 1.3 end end是一个汇编程序的结束标记编译器在编译汇编程序的过程中,碰到了end,就结束对源程序的编译注意不要搞混end和ends,ends是和segment成对使用的,标记一个段的结束,ends的含义可以理解为end segment我们这里的end的作用是标记整个程序的结束 1.4 assume 这条伪指令的含义为“假设”。它假设某一段寄存器和程序中的某一个用segment…ends定义的段相关联以后记着用assume将有特定用途的段和相关的段寄存器关联起来即可 2. 用源文件写汇编代码 2.1 编写汇编代码 首先在masm文件夹内创建一个txt文件,并且编写汇编代码 assume cs:codesgcodesg segmentmov ax,0123hmov bx,0456hadd ax,bxadd ax,axmov ax,4c00hint 21h //退出程序代码codesg ends //代表段结束end //整个程序结束 2.2 更改文件后缀 把txt后缀改为asm,以便编译器能够识别到 2.3 编译文件 打开DOSBox,输入dir,然后再输入masm 文件名,编译该文件并且生成obj文件 mount c d:masm c: dir masm code 生成.obj文件,完成编译 2.4 链接文件 link code 生成.exe文件,完成链接 2.5 执行文件 在debug下执行 debug code.exe //注意这里要加文件后缀名 r t t t