1、第六章 汇编语言及其程序设计主要内容n 汇编程序及其开发过程n 指令格式及寻址方式n 8086汇编语言的基本语法n 顺序、分支、循环结构程序设计n 子程序设计汇编语言程序及开发过程n 基本概念n 汇编语言 :是一种面向机器的程序设计语言,它是机器语言的符号化描述。n 特点:代码短、空间省、效率高n 汇编语言源程序 :用汇编语言编写的程序n 目标程序 :汇编语言经翻译程序翻译成的代码程序(即机器语言的程序)。n 汇编程序 :把源程序转变为相应目标程序的翻译程序n 宏汇编 :不仅包含一般汇编语言的功能,而且采用了高级语言使用的数据结构,是一种接近高级语言的汇编语言。n 汇编语言程序的开发过程n 编
2、写源程序: EDIT( DOS), TextPad(Windows)n 将源程序保存为 XXXX.asm 文件n 使用 MASM生成目标程序 XXXX.OBJn 使用 LINK生成可执行程序 XXXX.EXE源程序XXXX.asm目标程序XXXX.obj可执行程序XXXX.exe设计编辑 用 MASM汇编用 LINK连接执行使用汇编语言的过程n 基本汇编语言程序实例(1) DATA SEGMENT(2) String DB 程序设计 , ”$”(3) DATA ENDS(4) CODE SEGMENT(5) ASSUME CS:CODE,DS:DATA,SS:STACK(6) START: M
3、OV AX,DATA(7) MOV DS,AX(8) MOV DX,OFFSET String(9) MOV AH,9(10) INT 21H(11) MOV AX,4C00H (12) INT 21H(13) CODE ENDS(14) STACK SEGMENT STACK(15) DB 256 DUP(?)(16) STACK ENDS(17) END STARTAH = 9功能:显示字符串DS:DX = 串地址字符串以 “$”结尾AH = 4C功能:带返回码终止AL = 返回码n 汇编语言程序的开发过程开 始结 束用编辑工具编辑源程序源程序 XXXX.asm用 MASM进行汇编有语法错
4、误? YN目标文件 XXXX.obj用 LINK连接有错误? YN执行可执行文件 XXXX.exe正确? NY用 DEBUG调试n 结构化程序设计n 程序设计的基本步骤n 分析问题n 确定处理方案n 确定具体操作步骤,绘制流程图n 编写程序n 调试并运行程序,得到预期结果n 整理输出结果,写出有关文档资料n 流程图的画法起止框 执行框 流程线条件满足? 条件满足?Y YNN判断框AA连接点指令格式及寻址方式n 指令格式操 作 码 操 作 数OP CODE D W0127形式 1OP CODE D W0127形式 2OP CODE D W0127形式 3 DATA/DISP DATA/DISP12个字节 12个字节MOD REG R / M DATA/DISP DATA/DISP12个字节 12个字节方向位, 0: REG字段指出的寄存器为 源 操作数寄存器1: REG字段指出的寄存器为 目的 操作数寄存器字位, 0:参加运算的操作数为 字节 操作数1:参加运算的操作数为 字 操作数