1.第一个汇编程序
1.汇编语言要用伪指令来通知汇编(编译)程序哪部分是代码段、哪部分是数据段。数据段中都定义了哪些单元,单元存放了什么数据。堆栈去的设置、主程序和子程序定义,宏的使用。
分析:1.用DATA指明为数据段、用CODE指明为代码段,划分这两个段要用到段划分伪指令SEGMENT。用ASSUME伪指令说明段寄存器与段名之间的对应关系 2.标号SATRT代表其后的汇编指令MOV AX,DATA所在的单元的偏移地址,该指令所在的逻辑地址应为CS:START。标号START表示程序的开始,标号后面要跟冒号
3.INT 21H是DOS中断调用命令,功能号有AH指出,此处为4CH号功能,作用是结束程序,返回DOS。MOV AH,4CH和INT 21H两条指令一起实现该功能
4.分号为注释号,其后所有内容都为注释
5.END START 是伪指令,用于通知汇编程序,整个程序结束。同时通知汇编程序:程序的可执行部分是从START。若END后面不加标号,则汇编时出错
2.汇编程序初步
1.一个有效的汇编程序必须有代码段,把程序指令写在其中,否则就没有意义。汇编程序是由伪指令和汇编指令组成,缺一不可。
2. 源文件:用户编写的源程序,扩展名为.ASM
源程序经汇编程序MASM汇编(编译)后生成二进制目标程序,文件名默认与源文件名同名,扩展名为.OBJ
目标程序经LINK连接生成可执行文件,文件名默认与源程序同名,扩展名为.EXE
在汇编过程还可指定生成列表文件.LST和符号索引文件.CRF,一般不必考虑生成这两个文件
在连接过程中还可指定生成内存映像文件.MAP和库文件.LIB,一般不必生成这两个文件
3.汇编环境:MASM.EXE和LINK.EXE。文本编辑软件可用EDIT或记事本。汇编语言不区分大小写,编写的源文件要加上扩展名.ASM
3.汇编程序的基本要素和汇编程序的简单框架
1.先定义一个段
2.在段中写入汇编指令,来实现我们的处理任务
3.然后指出程序在何处结束
4.若把这个段作为代码段用,则应该在定义段时,在前面加ASSUME CS:段名,使其与CS联系起来。
4.程序返回:一个程序结束后,将CPU的控制权给使它运行的程序。
在程序末尾加:MOV AX,4C00H INT 21H 则可实现程序返回的功能