新書推薦:
《
大单元教学设计20讲
》
售價:HK$
78.2
《
儿童自我关怀练习册:做自己最好的朋友
》
售價:HK$
71.3
《
高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量)
》
售價:HK$
62.7
《
元好问与他的时代(中华学术译丛)
》
售價:HK$
87.4
《
汽车传感器结构·原理·检测·维修
》
售價:HK$
112.7
《
怪谈百物语:不能开的门(“日本文学史上的奇迹”宫部美雪重要代表作!日本妖怪物语集大成之作,系列累销突破200万册!)
》
售價:HK$
66.7
《
罗马政治观念中的自由
》
售價:HK$
51.8
《
中国王朝内争实录:宠位厮杀
》
售價:HK$
63.3
|
編輯推薦: |
内容精炼,实用性强注重运用理论解决实际问题每章后均附有习题和思考题
|
內容簡介: |
本书系统地介绍了80x86微型计算机的原理、汇编语言程序设计与接口技术,主要内容包括微型计算机基础知识、汇编语言与汇编程序、程序设计技术、总线、存储器及其接口、输入与输出技术、中断技术和常用可编程接口芯片等。本书内容精练、实例丰富,其中大量的接口电路和程序是作者多年来在科研和教学中反复提炼得来的,因而本书应用性很强,可作为大专院校和高职高专、成人高等教育汇编语言程序设计微机原理及应用接口技术等课程的教学用书,也可以供从事电子技术、计算机应用与开发的科研人员和工程技术人员学习参考,还适于初学者自学使用。
|
目錄:
|
目录第1章微型计算机基础
1.1计算机中的数和编码
1.1.1计算机中的数制
1.1.2符号数的表示法
1.1.3二进制数的加减运算
1.1.4二进制编码
1.1.5BCD数的加减运算
1.1.6二进制数的逻辑运算与逻辑电路
1.2逻辑单元与逻辑部件
1.2.1触发器
1.2.2寄存器
1.2.3移位寄存器
1.2.4计数器
1.2.5三态输出门与缓冲放大器
1.2.6译码器
1.3微型计算机的结构和工作原理
1.3.1微型计算机常用的术语
1.3.2微型计算机的基本结构
1.3.3计算机的工作原理
1.480x86微处理器
1.4.180868088
1.4.280286
1.4.380386
1.4.480486
1.4.5Pentium
1.4.6Itanium
1.580x86的寄存器
1.5.180868088的寄存器
1.5.280286的寄存器
1.5.380386的寄存器
1.5.480486的寄存器
1.5.5Pentium的寄存器
1.680x86的工作方式与存储器物理地址的生成
1.6.180x86的工作方式
1.6.280x86存储器的分段和物理地址的生成
习题与思考题
第2章汇编语言与汇编程序
2.1符号指令中的表达式
2.1.1常量
2.1.2标号
2.1.3变量
2.2符号指令的寻址方式
2.2.1寄存器寻址
2.2.2立即寻址
2.2.3直接寻址
2.2.4间接寻址
2.2.5基址寻址
2.2.6变址寻址
2.2.7基址变址寻址
2.2.8比例变址寻址80386及后继微处理器可用
2.2.9基址比例变址寻址80386及后继微处理器可用
2.2.10存储器寻址及存储器寻址中段基址或段选择字的确定
2.3常用指令
2.3.1数据传送类指令
2.3.2加减运算指令
2.3.3逻辑运算指令
2.3.4移位指令
2.3.5位搜索扫描Bit Scan指令80386及其后继微处理器可用
2.3.6位测试Bit Tests指令80386及其后继微处理器可用
2.3.7指令应用举例
2.4常用伪指令
2.4.1过程的定义
2.4.2微处理器选择伪指令
2.4.3段的定义
2.4.4汇编地址计数器
2.4.5段寄存器的设定
2.4.6源程序的结束
2.4.7宏汇编源程序的格式
2.5常用系统功能调用和BIOS
2.5.1系统功能调用
2.5.2常用系统功能调用应用举例
2.5.3BIOS
习题与思考题
第3章程序设计的基本技术
3.1顺序程序设计
3.1.1乘除法指令
3.1.2BCD数调整指令
3.1.3顺序程序设计举例
3.2分支程序设计
3.2.1条件转移指令
3.2.2无条件转移指令
3.2.3分支程序设计举例
3.3循环程序设计
3.3.1循环程序的基本结构
3.3.2重复控制指令
3.3.3单重循环程序设计举例
3.3.4多重循环程序设计举例
3.4串处理程序设计
3.4.1方向标志置位和清除指令
3.4.2串操作指令
3.4.3重复前缀
3.4.4串操作程序设计举例
3.5子程序设计
3.5.1子程序的概念
3.5.2子程序的调用指令与返回指令
3.5.3子程序及其调用程序设计
3.6宏功能程序设计
3.6.1宏指令
3.6.2条件汇编与宏库的使用
3.6.3宏功能程序设计举例
习题与思考题
第4章总线
4.1总线概述
4.1.1总线分类
4.1.2总线操作
4.280868088的CPU总线
4.2.180868088的引线及功能
4.2.28088的CPU系统
4.2.38088的时序
4.3Pentium的CPU总线
4.4局部总线
4.4.1ISA局部总线
4.4.2PCI局部总线
4.5通用外部总线
4.5.1IDE总线
4.5.2SCSI总线
4.5.3通用串行总线USB
4.5.4视频接口AGP
4.6Pentium微型计算机系统
4.6.1北桥南桥式控制芯片组与微型计算机系统
4.6.2MCHICH集中式控制芯片组与微型计算机系统
习题与思考题
第5章存储器及其接口
5.1存储器概述
5.1.1存储器的类型
5.1.2存储器的性能指标
5.1.3存储器的分级结构
5.2常用的存储器芯片
5.2.1半导体存储器芯片的结构
5.2.2只读存储器ROM
5.2.3随机读写存储器RAM
5.3存储器与CPU的接口
5.3.1存储器芯片与地址总线的连接
5.3.2存储器芯片与数据总线的连接
5.3.3存储器芯片与控制总线的连接
5.3.4连接举例
习题与思考题
第6章输入输出和接口技术
6.1接口的基本概念
6.1.1接口的功能
6.1.2接口控制原理
6.1.3接口控制信号
6.2IO指令和IO地址译码
6.2.1标准的IO 寻址方式
6.2.2存储器映像IO寻址方式
6.2.3输入输出指令
6.2.4IO接口的端口地址译码
6.3数字通道接口
6.3.1数据输出寄存器
6.3.2数据输入三态缓冲器
6.3.3三态缓冲寄存器
6.3.4寄存器和缓冲器接口的应用
6.3.5打印机适配器
6.4模拟通道接口
6.4.1数模转换器DAC及其与微型计算机的接口
6.4.2模数转换器ADC及其与微型计算机的接口
习题与思考题
第7章中断技术
7.1中断和中断系统
7.1.1中断的概念
7.1.2中断请求与控制和中断源的识别
7.1.3中断系统的功能
7.1.4CPU对外部可屏蔽中断的响应及中断过程
7.2中断控制器8259A
7.2.18259A的组成和接口信号
7.2.28259A处理中断的过程
7.2.38259A的级联
7.2.48259A的命令字
7.380x86微处理器的中断指令和80x86微型计算机的中断系统
7.3.1中断指令
7.3.2外部中断
7.3.3内部中断
7.3.4中断类型码及中断种类
7.3.5中断向量表和中断描述符表
7.3.6中断响应和处理过程
7.4实地址方式下的可屏蔽中断服务程序的设计
7.4.1中断服务程序入口地址的装入
7.4.2中断屏蔽与中断结束的处理
7.4.3中断服务程序设计举例
习题与思考题
第8章常用可编程接口芯片
8.1可编程并行接口8255
8.1.18255的组成与接口信号
8.1.28255的工作方式与控制字
8.1.3三种工作方式的功能
8.2可编程计数器定时器8253
8.2.18253的组成与接口信号
8.2.2计数器的工作方式及其与输入输出的关系
8.2.38253的控制字和初始化编程
8.2.48253的应用
8.3串行通信与异步通信控制器8250的应用
8.3.180x86微型计算机的串行口
8.3.2异步通信控制器8250
8.3.38250与微型计算机及RS232接口信号的连接
8.3.4异步串行通信程序设计
8.3.580x86微型计算机之间的通信
8.3.680x86微型计算机与MCS51单片机之间的通信
习题与思考题
附录A80x86指令系统表
附录B80x86指令按字母顺序查找表
附录C80x86算术逻辑运算指令对状态标志位的影响
|
內容試閱:
|
前言
经过多年来的教学实践,尤其是近三年来课程改革实践,我们对教材内容和课程体系进行了深入的研究,并做了修改和更新。本书在第2版的基础上对部分章节进行了必要的调整,既保持了多年形成的比较成熟的课程体系,又适当地补充了一些新的内容。本书通过8086到Pentium微处理器和以80x86为CPU的微型计算机的硬件和软件分析,阐明微型计算机的组成原理、汇编语言程序设计以及存储器、输入输出接口芯片与微处理器的接口方法,为学习者在微处理器和微型计算机的应用上打下坚实的基础。本书包括汇编语言程序设计和接口技术两部分内容。汇编语言程序设计是微型计算机应用系统的系统软件和应用软件的设计基础,接口技术是微型计算机应用系统硬件组成的设计基础。本书内容较全面,实例丰富。书中的程序和接口电路的设计包含作者多年来在科研和教学中积累的经验和技巧。学习微型计算机的汇编语言程序设计和接口技术必须理论联系实际。本书在介绍基本概念的同时,列举了大量典型而有意义的例题和习题。这些例题和习题,无论是汇编程序还是接口电路都已在80x86系列微型计算机系统上调试通过。80x86为用户提供了实地址方式、虚地址保护方式和虚拟8086方式三种工作方式,但从编程角度看,仅提供了实地址方式和虚地址保护方式两种工作方式。就编程而言,这两种工作方式并无实质上的区别,而且使用实地址方式已可解决应用程序所面向的大量问题,所以本书有关汇编语言程序设计的讨论只限于DOS环境下的实地址方式。本书内容丰富,实用性强。每章后均配有一定数量的、能达到检验和加深理解理论知识、培养解题和应用能力及训练思维方式的习题。避免了烦琐的文字叙述、数学推导及题海,将学生从学海无涯苦作舟中解放出来,使他们做到一看就懂、一学就会、欲罢不能、兴趣盎然。编写本书时,注意了理论和实践相结合,力求做到既有一定的理论基础,又能运用理论解决实际问题; 既掌握一定的先进技术,又着眼于当前的应用服务。本教材的参考学时为80学时不含实验。学时数较少的学校或专业可以不讲授第2章和第3章中的以下内容: 地址传送指令、查表转换指令、BIOS、串处理程序设计和宏功能程序设计等,本书后面没有使用这些内容。还可以只选讲实地址方式的有关内容。本书由朱定华编写,参加本书编写工作的人员还有戴颖颖、朱悦、蔡苗、周斌、蔡红娟、翟晟、黄松、吕建才、陈艳、林卫、李志文、林威等。计算机的发展日新月异,教学改革任重道远。限于作者的水平和能力,书中不妥之处在所难免,恳请读者和各位同仁批评指正。
编者2017年4月
第3章程序设计的基本技术
在汇编语言程序中,最常见的形式有顺序程序、分支程序、循环程序和子程序。这几种程序的设计方法是汇编程序设计的基础。本章将结合实例详细地介绍这些程序的设计技术以及第2章尚未讲述的指令。如前所述,本书有关汇编语言程序设计的讨论只限于DOS环境下MASM 5.0的实地址方式,而在实地址方式下,一个逻辑段的空间最大为64KB,因此在实地址方式下最好采用16位寻址的控制转移。本章介绍的控制转移类指令,包括转移指令、子程序的调用指令和返回指令在实现转移或调用时都要修改IP或EIP,在实地址方式下的EIP就是16位的IP,所以关于这两类指令就只限于修改IP的介绍。3.1顺序程序设计顺序程序是最简单的程序,它的执行顺序和程序中指令的排列顺序完全一致。下面先介绍乘除法指令及BCD运算的调整指令。3.1.1乘除法指令乘除法指令应该有无符号数乘除法指令和符号数乘除法指令之分。这是因为乘除法不同于加减法,无符号数的乘法和除法指令对符号数进行乘除运算不能得到正确的结果。如用无符号数的乘法运算做FFH乘以FFH结果为FE01H。把它们看作无符号数为255255=65025FE01H=65025,其结果是正确的; 若把它们看作符号数一般情况下,都将符号数看作补码数为-1-1=-511FE01H=-511,显然是错误的。因此符号数必须用专用的乘除法指令。1. 乘法指令MUL和符号整数乘法指令IMUL指令格式MUL source
IMUL source
其中,源操作数source可以是字节、字或者双字,与其对应的目的操作数是AL、AX或EAX。源操作数只能是寄存器和存储器,不能为立即数。在乘法指令之前必须将另一个乘数送AL字节乘、AX字乘或者EAX 双字乘。乘法指令所执行的操作是AL、AX或者EAX乘source,乘积放回到AX、DX和AX或者EDX和EAX,如图31所示。
如用乘法指令实现例2.4将AX中小于255大于0的三位BCD数转换为二进制数,存入字节变量SB中的程序段如下。
MOV CH,10
MOV CL,4
MOV SB,AL; 暂存十位和个位
MOV AL,AH
MUL CH; 百位10
MOV AH,SB
SHR AH,CL; 取十位
ADD AL,AH; 百位10 十位
MUL CH; 百位10 十位10
AND SB,0FH; 取个位
ADD SB,AL; 百位10 十位10 个位
图31乘法指令的操作
|
|