分享
汇编语言实用教程.pdf
下载文档

ID:2358995

大小:5.47MB

页数:328页

格式:PDF

时间:2023-05-08

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
汇编语言 实用教程
高等学校计算机教材 汇编语言实用教程 郑阿奇 主 编 吕升旭 编 著 北京BEIJINGPublishing House of Electronics Industry 内 容 简 介 本书以 80 x86 指令系统为主体,详细介绍汇编语言程序设计,共 10 章。首先复习汇编语言数据运算基础和 80 x86 微处理器体系结构,通过一个实例介绍汇编语言程序上机操作过程;然后介绍指令系统和寻址方式、汇编语言源程序的组成和 8086/8088 常用指令,在此基础上,介绍基本程序设计、子程序设计、输入/输出与中断程序设计和简单应用程序设计。本书的主要特点是循序渐进,结构清晰,重点突出,教和学比较方便。本书可作为高等学校有关专业汇编语言程序设计课程教材或参考书,也可作为自学和微机应用技术人员的参考用书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 汇编语言实用教程郑阿奇主编,吕升旭编著.北京:电子工业出版社,2011.5 高等学校计算机教材 ISBN 978-7-121-13397-8.汇 .郑 吕 .汇编语言程序设计高等学校教材 .TP313 中国版本图书馆 CIP 数据核字(2011)第 078565 号 责任编辑:郝黎明 特约编辑:田领红 印 刷:北京天竺颖华印刷厂 装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:20.75 字数:531.2 千字 印 次:2011 年 5 月第 1 次印刷 印 数:4 000 册 定价:35.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。前 言 本书以 80 x86 指令系统为主体,详细介绍汇编语言程序设计。主要特点是循序渐进,结构清晰,重点突出,教和学比较方便。各章内容安排基本思路如下。第 1 章汇编语言运算基础:系统复习汇编语言程序设计使用的数据及其算术和逻辑运算,这些内容在此前的课程已经介绍过,但学生对这部分内容的掌握个体上是有差别的,学习本课程之前需要复习这些内容。读者可根据情况选择学习。第 2 章微型计算机的体系结构:主要介绍 80 x86 微处理器及其操作方式,为 80 x86 汇编语言程序设计提供操作基础。第 3 章汇编语言程序及其操作过程:在介绍机器语言程序的基础上,介绍汇编语言程序。通过一个典型实例介绍机器语言程序上机操作方法,重点是机器语言程序的调试。在此基础上,介绍程序的编辑、编译、连接和运行。第 4 章汇编语言指令系统和寻址方式:在简单介绍指令系统分类的基础上,介绍指令操作数和为了得到操作数而采用的寻址方式。第 5 章汇编语言源程序组成:介绍汇编语言源程序书写格式、数据表达式、常用伪指令和正常结束方式。第 6 章 8086/8088 常用指令:主要介绍数据传送类指令、算术运算类指令、位操作类指令和处理器控制类指令,控制转移类指令在第 7 章节中介绍,字符串处理类指令在第 10章中介绍。第 7 章基本程序设计:在介绍控制转移类指令的同时,系统介绍用汇编语言编写程序的步骤和方法,其中包括解决基本问题的算法。第 8 章子程序设计:介绍子程序的定义、子程序的调用和返回、参数传递,另外,还有子程序的嵌套与递归调用。第 9 章输入/输出与中断程序设计:在介绍输入和输出的基本概念和四种数据传送方式的基础上,介绍中断系统程序设计。然后介绍 BIOS 中断和 DOS 中断调用。第 10 章简单应用程序设计:介绍字符串处理类指令及其程序设计,介绍十进制数算术运算调整指令及其程序设计,最后提供应用程序设计举例。通过教程学习,结合实例上机练习,一般能够基本掌握汇编语言程序设计。本书由南京师范大学郑阿奇主编,吕升旭编著,参加本书编写的还有梁敬东、顾韵华、王洪元、刘启芬、丁有和、曹弋、徐文胜、殷红先、张为民、姜乃松、彭作民、王一莉、徐斌、王志瑞、周怡明、刘博宇、周怡君、郑进、刘毅等。本书配有教学课件和所有实例源代码文件,有需要者可以在出版社网站免费下载。网站地址为:http:/。由于我们的水平有限,错误在所难免,敬请广大师生、广大读者批评指正。意见建议邮箱:。编 者 2010 年 11 月?V?目 录 第 1 章 汇编语言运算基础1 1.1 二进制数1 1.1.1 二进制1 1.1.2 二进制数运算 3 1.1.3 十六进制数值运算规则5 1.1.4 二、八、十六、十进制数相互转换6 1.2 计算机中二进制数的表示及运算8 1.2.1 不带符号的整数表示9 1.2.2 带符号的整数表示9 1.2.3 浮点数表示 12 1.3 计算机中字符表示13 1.3.1 ASCII 码14 1.3.2 汉字编码15 1.4 计算机中逻辑值表示及运算 17 1.4.1“与”运算17 1.4.2“或”运算17 1.4.3“非”运算18 1.4.4“异或”运算 18 1.4.5 逻辑代数基本公式19 习题20 第 2 章 微型计算机的体系结构21 2.1 微型计算机基本组成21 2.2 微处理器22 2.2.1 Intel 公司微处理器简介22 2.2.2 Intel 8086/8088 微处理器功能结构 23 2.3 Intel 8086/8088 CPU 寄存器组 26 2.3.1 通用寄存器 27 2.3.2 段寄存器28 2.3.3 控制寄存器 29 2.4 存储器32 2.4.1 存储器的段结构32 2.4.2 物理地址与逻辑地址33 2.4.3 内存地址空间 35 2.5 堆栈36?VI?2.5.1 堆栈的概念 36 2.5.2 堆栈的组织 37 2.5.3 堆栈的操作 38 2.6 输入/输出设备 40 习题40 第 3 章 汇编语言程序及其操作过程42 3.1 机器语言程序 42 3.1.1 机器语言程序 42 3.1.2 机器语言程序的输入和运行 43 3.1.3 Debug 调试工具44 3.2 汇编语言程序 50 3.2.1 汇编语言50 3.2.2 汇编语言程序 50 3.3.3 Emu8086 的使用52 3.3 汇编语言程序的编辑、编译、连接和运行 55 3.3.1 汇编语言程序的编辑55 3.3.2 MASM 汇编开发环境57 3.3.3 汇编语言程序的编译、连接和运行61 习题65 第 4 章 汇编语言指令系统和寻址方式67 4.1 汇编语言指令的格式67 4.2 指令系统分类 68 4.2.1 数据传送类指令68 4.2.2 算术运算类指令69 4.2.3 位操作类指令 70 4.2.4 控制转移类指令70 4.2.5 字符串处理类指令71 4.2.6 处理器控制类指令71 4.3 操作数的类型 72 4.3.1 立即数操作数 72 4.3.2 寄存器操作数 73 4.3.3 存储器操作数 74 4.4 立即寻址方式 74 4.5 寄存器寻址方式75 4.6 存储器寻址方式76 4.6.1 直接寻址方式 77 4.6.2 寄存器间接寻址方式79 4.6.3 寄存器相对寻址方式81?VII?4.6.4 基址变址寻址方式83 4.6.5 相对基址变址寻址方式85 4.6.6 字符串操作寻址方式87 习题87 第 5 章 汇编语言源程序组成89 5.1 汇编语言源程序的格式89 5.1.1 段的定义89 5.1.2 简化段定义格式93 5.1.3 完整段定义格式94 5.2 汇编语言数据 96 5.2.1 常量96 5.2.2 变量98 5.2.3 标号103 5.2.4 变量和标号的属性103 5.3 表达式与运算符107 5.3.1 算术运算符 107 5.3.2 移位运算符 109 5.3.3 逻辑运算符 109 5.3.4 关系运算符 110 5.3.5 其他运算符 110 5.3.6 运算符的优先级111 5.4 常用伪指令 112 5.4.1 属性定义伪指令 LABEL 112 5.4.2 段寻址伪指令 ASSUME113 5.4.3 过程定义伪指令 PROC/ENDP114 5.4.4 调整偏移量伪指令115 5.4.5 标题伪指令 TITLE117 5.4.6 程序结束伪指令 END118 5.4.7 模块连接伪指令 PUBLIC 和 EXTRN 119 5.5 汇编语言源程序正常结束方式121 5.5.1 使用 4CH 系统功能调用正常结束121 5.5.2 使用程序段前缀正常结束121 习题123 第 6 章 8086/8088 常用指令125 6.1 数据传送类指令125 6.1.1 通用数据传送指令126 6.1.2 堆栈操作指令 128 6.1.3 数据交换指令 130?VIII?6.1.4 查表转换指令 131 6.1.5 地址传送指令 131 6.1.6 标志位传送指令133 6.1.7 端口输入/输出指令134 6.2 算术运算类指令136 6.2.1 加法指令136 6.2.2 减法指令139 6.2.3 乘法指令142 6.2.4 除法指令144 6.2.5 符号扩展指令 145 6.2.6 BCD 码十进制调整指令146 6.3 位操作类指令 147 6.3.1 逻辑运算指令 147 6.3.2 移位指令150 6.3.3 循环移位指令 153 6.4 处理器控制类指令156 6.4.1 标志位操作指令156 6.4.2 CPU 控制指令157 习题158 第 7 章 基本程序设计160 7.1 程序设计方法 160 7.1.1 程序设计步骤 160 7.1.2 程序流程图 161 7.2 顺序结构程序设计162 7.2.1 顺序程序设计 162 7.2.2 简单查表法代码转换165 7.3 分支程序设计 167 7.3.1 无条件转移指令168 7.3.2 条件转移指令 172 7.3.3 单分支程序设计176 7.3.4 双分支程序设计177 7.3.5 多分支程序设计179 7.4 循环结构程序设计186 7.4.1 循环控制指令 186 7.4.2 循环程序的结构188 7.4.3 单重循环程序设计189 7.4.4 多重循环程序设计195 习题197?IX?第 8 章 子程序设计 199 8.1 子程序的定义 199 8.1.1 子程序的格式 199 8.1.2 子程序的说明信息200 8.2 子程序的调用和返回201 8.2.1 调用指令202 8.2.2 返回指令205 8.2.3 现场保护和恢复207 8.3 子程序与主程序间的参数传递208 8.3.1 利用寄存器传递参数208 8.3.2 利用堆栈传递参数210 8.3.3 利用约定存储单元传递参数 213 8.4 子程序的嵌套与递归调用215 8.4.1 子程序的嵌套调用215 8.4.2 子程序的递归调用216 习题218 第 9 章 输入/输出与中断程序设计 220 9.1 输入和输出的基本概念220 9.1.1 I/O 端口地址220 9.1.2 I/O 端口编址221 9.1.3 I/O 指令223 9.2 数据传送方式 224 9.2.1 程序控制方式 225 9.2.2 中断控制方式 229 9.2.3 直接存储器存取方式230 9.3 中断230 9.3.1 中断的分类 231 9.3.2 中断向量表 232 9.3.3 中断优先级和中断嵌套235 9.3.4 中断指令237 9.3.5 中断过程238 9.3.6 中断处理程序的设计241 9.4 BIOS 与 DOS 中断调用243 9.4.1 BIOS 与 DOS 中断概述243 9.4.2 键盘 BIOS 功能调用246 9.4.3 键盘 DOS 功能调用249 9.4.4 显示器 BIOS 功能调用252 9.4.5 显示器 DOS 功能调用260?X?9.4.6 打印机

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开