
本书主要内容包括微机基础知识, 8086/8088指令系统,80x86、Pentium增强和扩展指令,程序设计方法,高级汇编技术,系统功能调用及实例,汇编语言与C/C++的混合编程技术及实例,上机操作。每章附有习题,书后附有上机实验指导。本书可作为高等院校、高等职业院校计算机及相关专业的汇编语言程序设计课程教材,微型计算机原理课程辅助教材。
前 言 在众多程序设计语言中,汇编语言属于低级语言。“低级”主要是指在面向用户方面,汇编语言不及C/C++、Java等程序设计语言。而在面向机器方面,汇编语言之“高级”则无与伦比。汇编语言可以充分利用计算机的硬件特性,编制对时间和空间要求很高的程序,在实时控制场合,汇编语言更是无可替代,由此决定了汇编语言程序设计是计算机专业及相近专业人员的必备知识。 本书以Intel 8086/8088系列微机作为基础机型介绍汇编语言程序设计知识。在介绍8086/8088 CPU寻址方式和指令系统的基础上,详细介绍了汇编语言程序设计的基本方法和技巧,掌握这些内容,可以为Intel 80x86及Pentium系列微机的汇编语言程序设计奠定基础。考虑到Intel 80x86及Pentium系列微机的广泛应用,本书设置了关于Intel 80x86及Pentium的增强和扩展指令内容,在介绍各种程序设计方法的例题中也兼顾了这些指令的应用。本书的主体内容为Intel 8086/8088指令系统和各种程序设计方法,第1章和第2章则提供了学习汇编语言的基础知识,第9章和第10章提供了进行高效率、大规模汇编语言程序设计的必备知识;第11章讲述了用C/C++进行混合编程的基本方法。 本书以编者长期使用的该课程讲稿为主体,以前两版本为基础,进行了系统的整合和内容的扩充,力求难点分散、循序渐进,为避免大量的汇编语言指令集中堆砌,将部分指令融于相关程序设计方法的介绍之中。对于同类内容讲透一点,以点带面。例题和习题的设置力图紧扣重点,举一反三,不仅有一般例题,更有综合举例和应用实例。每项实验均设有验证和设计两种类型的实验题,以便读者在巩固书本知识的基础上,提高应用和创新的能力。 本书由丁辉主编,张丽虹、魏远旺为副主编。第5章至第9章,以及上机实验指导由丁辉编写;第1章至第4章由张丽虹编写;第10、11章由魏远旺编写;全书由丁辉统稿。陈书谦、伍俊明、傅扬烈、姜宏岸、邵峥嵘、冯亚东、常赵罡为本书的编写提出了不少有益的建议,并参与了资料的整理工作。在编写过程中参考了相关书籍,包括书后参考文献中未能列出者,在此对相关作者表示诚挚的谢意。由于编者水平有限,书中难免存在疏漏,敬请同行专家指正。 在本书的编写过程中,得到了电子工业出版社的热情支持,在此一并表示衷心的感谢。 编者 2008年10月
第1章 基础知识 1.1 汇编语言与汇编语言程序设计 1.1.1 汇编语言 1.1.2 汇编语言程序设计 1.2 进位计数制 1.2.1 常用计数制及其数的算术运算 1.2.2 数制转换 1.3 计算机中数和字符的表示 1.3.1 数的表示 1.3.2 字符的表示 第2章 IBM-PC计算机系统概述 2.1 INTEL 8086/8088 CPU的功能结构 2.1.1 执行单元与接口部件单元 2.2 INTEL 8086/8088 存储器的组织 2.2.1 存储单元的地址和内容 2.2.2 Intel8086/8088存储器的组织 2.2.3 堆栈 2.3 INTEL 80X86系列微处理器简介 2.3.1 80386微处理器 2.3.2 Pentium微处理器 2.4 外部设备 第3章 指令系统 3.1 指令格式 3.2 寻址方式 3.2.1 固定寻址(Inherent Addressing) 3.2.2 立即寻址(Immediate Addressing) 3.2.3 寄存器寻址(Register Addressing) 3.2.4 存储器寻址 3.3 指令的执行时间 3.4 INTEL8086/8088指令系统 3.4.1 数据传送指令 3.4.2 算术运算指令 3.4.3 位操作指令 3.4.4 串操作指令 3.4.5 转移指令 3.4.6 处理器控制指令 3.5 INTEL 80X86及PENTIUM指令系统 3.5.1 Intel80386新增和扩充指令 3.5.2 Pentium新增指令 第4章 汇编语言与汇编语言程序 4.1 汇编语言程序与汇编程序 4.2 汇编语言程序的格式和组成元素 4.2.1 标识符 4.2.2 保留字 4.2.3 表达式 4.3 伪指令 4.3.1 符号定义伪指令 4.3.2 变量定义伪指令 4.3.3 段定义伪指令 4.3.4 过程定义伪指令 4.3.5 80x86指令集选择伪指令 4.4 汇编语言程序的上机过程 4.4.1 MSAM汇编环境 4.4.2 TASM汇编环境 第5章 顺序程序设计 5.1 汇编语言程序设计的基本步骤 5.2 顺序程序设计 5.2.1 十进制算术运算 5.2.2 汇编语言程序中的输入/输出功能调用 5.3 顺序程序设计综合举例 第6章 分支程序设计 6.1 分支程序结构 6.2 转移指令 6.2.1 条件转移指令 6.2.2 无条件转移指令 6.3 分支程序设计 6.3.1 测试法分支程序设计 6.3.2 跳转表法分支程序设计 6.4 分支程序设计综合举例 第7章 循环程序设计 7.1 循环程序结构 7.2 循环指令 7.2.1 重复控制指令 7.2.2 串操作指令及重复前缀 7.3 循环程序设计 7.3.1 计数控制的循环程序设计 7.3.2 条件控制的循环程序设计 7.3.3 多重循环程序设计 7.4 循环程序设计综合举例 第8章 子程序设计及系统调用 8.1 调用程序与子程序 8.2 调用与返回指令 8.3 子程序设计 8.3.1 子程序的定义 8.3.2 子程序的调用与返回 8.3.3 保护现场与恢复现场 8.3.4 参数的传递 8.4 程序的嵌套和递归 8.4.1 子程序的嵌套 8.4.2 子程序的递归 8.5 子程序调用与系统功能调用 8.5.1 子程序调用与系统功能调用间的关系 8.5.2 系统功能调用的方法 8.6 子程序设计综合举例 第9章 高级汇编语言技术 9.1 宏汇编 9.1.1 宏定义 9.1.2 宏调用和宏扩展 9.1.3 宏定义和宏调用中参数的使用 9.1.4 宏嵌套 9.2 重复汇编 9.2.1 使用REPT伪指令的重复汇编结构 9.2.2 使用IRP伪指令的重复汇编结构 9.2.3 使用IRPC伪指令的重复汇编结构 9.3 条件汇编 9.3.1 条件汇编的概念及条件汇编的结构 9.3.2 条件汇编伪指令 9.4 库的使用 9.4.1 库的建立 9.4.2 库的使用 9.5 模块化程序设计 9.5.1 模块化程序设计概述 9.5.2 段的定义 9.5.3 模块间的通信 9.5.4 模块的连接 第10章 系统功能调用及实例 10.1 中断 10.1.1 中断的基本概念 10.1.2 中断的处理过程 10.2 系统功能调用方法 10.2.1 DOS功能调用 10.2.2 BIOS功能调用 10.3 系统功能调用应用实例 第11章 汇编语言与C/C++混合编程及实例 11.1 TURBO C嵌入汇编方式 11.1.1 嵌入汇编语句的格式 11.1.2 汇编语句访问C语言的数据 11.1.3 嵌入汇编的编译过程 11.1.4 Turbo C模块连接方式 11.2 汇编语言在VISUAL C++中的应用 11.2.1 嵌入汇编语言指令 11.2.2 调用汇编语言过程 11.2.3 使用汇编语言优化C++代码 11.2.4 使用Visual C++开发汇编语言程序 11.3 汇编语言与C/C++的混合编程实例 附录A 上机实验 实验一 程序的编辑、汇编、连接和调试 实验二 分支程序设计 实验三 循环程序设计 实验四 子程序 实验五 高级汇编语言技术 实验六 DOS功能调用与BIOS中断调用 实验七 C/C++语言与汇编语言的混合编程 附录B ASCII码表 附录C 80X86指令表 附录D MASM 5.0宏汇编程序出错信息 附录E DEBUG命令表 附录F BIOS和MS-DOS功能调用 参考文献
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0080330