汇编语言程序设计
2004-3-1
人民邮电出版社
梁发寅,宗大华
183
287000
汇编语言是一种面向机器的符号式程序设计语言。汇编语言具有编程质量高、执行速度快、占用存储空间少、易记、易修改等优点。
本书以8086/8088汇编语言格式的指令为出发点,分7章进行讲述。本书认为寻址方式是学习汇编语言的基础,学习中应强调程序设计的各种结构,并认真做好上机实践。
本书适用于高职高专计算机及相关专业的学生。编写时,力求做到突出基础知识和必备知识;由浅入深地安排全书内容;多举实例,用例子说明概念及各种编程方法;每章最后附有习题,帮助理解和巩固所学内容。
相信本书对入门、理解、初步掌握汇编语言以及学习汇编语言的编程方法,都会有所裨益。
第1章 汇编语言基础知识 1 1.1 有符号数和无符号数 1 1.1.1 有符号数的补码表示 1 1.1.2 补码的加法和减法 3 1.1.3 无符号数 5 1.1.4 字符的ASCII码 5 1.2 存储器 6 1.2.1 存储单元的地址和内容 6 1.2.2 存储器地址的分段 7 1.3 8086/8088微处理器 10 1.3.1 8086/8088微处理器的组成 10 1.3.2 8086/8088寄存器 11 1.3.3 汇编语言 13 1.4 8086/8088寻址方式 13 1.4.1 8086/8088指令的组成 13 1.4.2 符号地址 14 1.4.3 数据的寻址方式 17 习题1 23第2章 8086/8088的指令系统 25 2.1 数据传送指令 25 2.1.1 通用数据传送指令 25 2.1.2 地址传送指令 29 2.1.3 XLAT 查表指令 30 2.1.4 标志寄存器传送指令 31 2.2 算术运算指令 32 2.2.1 加减运算指令 32 2.2.2 十进制调整指令 37 2.2.3 乘除运算指令 40 2.3 控制转移指令 43 2.3.1 JMP无条件转移指令 43 2.3.2 条件转移指令 47 2.3.3 循环指令 52 2.4 逻辑运算和移位指令 53 2.4.1 逻辑运算指令 53 2.4.2 移位指令 55 2.5 串操作指令 60 2.5.1 与REP前缀相配合工作的MOVS,STOS和LODS指令 60 2.5.2 与REPE和REPNE前缀相配合工作的CMPS和SCAS指令 63 2.6 处理器控制指令 65 习题2 65第3章 汇编语言程序格式和简单程序设计 68 3.1 汇编语言的程序格式 68 3.1.1 汇编语言的语句 68 3.1.2 伪指令语句 70 3.1.3 指令语句 74 3.1.4 宏指令语句 77 3.2 简单程序的设计 79 3.2.1 汇编语言程序设计的基本步骤 79 3.2.2 用流程图表示算法 80 3.2.3 简单程序的设计示例 81 习题3 86第4章 子程序设计 90 4.1 子程序的结构形式 90 4.1.1 子程序的定义 90 4.1.2 子程序的调用和返回 91 4.2 子程序的设计方法 97 4.2.1 现场保护和现场恢复 97 4.2.2 主程序与子程序间的参数传递方法 98 4.2.3 子程序的嵌套调用 104 4.2.4 子程序的说明文件 104 4.3 DOS系统功能调用简介 104 4.3.1 外部设备 105 4.3.2 输入输出指令 105 4.3.3 常用的DOS系统功能调用 106 4.3.4 子程序设计示例 112 习题4 117第5章 循环程序设计 119 5.1 循环程序的结构形式 119 5.2 循环程序的控制方法 121 5.2.1 计数控制法 121 5.2.2 条件控制法 125 5.2.3 逻辑尺控制法 128 5.3 多重循环 131 5.4 循环程序设计示例 135 习题5 139第6章 分支程序设计 143 6.1 双分支程序的设计 143 6.1.1 分支程序的结构 143 6.1.2 双分支程序设计 144 6.2 多分支程序设计 146 6.2.1 地址表法多分支程序设计 146 6.2.2 转移表法多分支程序设计 150 6.2.3 逻辑分解法多分支程序设计 152 6.3 多分支程序设计示例 155 习题6 160第7章 上机实践 162 7.1 汇编语言程序的上机过程 162 7.1.1 建立汇编语言的工作环境 162 7.1.2 编制源程序 163 7.1.3 汇编 163 7.1.4 连接 164 7.1.5 调试运行 164 7.2 上机练习中的DOS功能调用 169 习题7 183