- 商品参数
-
- 作者:
无著
- 出版社:清华大学出版社
- ISBN:9787302464723
- 版权提供:清华大学出版社
![]()
本书为普通高等教育“十二五”*规划教材,普通高等教育“十一五”*规划教材,是汇编语言与接口技术经典教材,内容,特色突出,被多所高校用作教材。本书是《汇编语言与接口技术(第4版)》的配套教材。本书分为两部分。*部分是知识精要,主要结合《汇编语言与接口技术(第4版)》的知识结构,对知识点进行精练和扩充。共分10章,每章中都系统总结了主教材的主要知识点,并给出主教材大部分课后习题的详细分析讲解和参考答案。第二部分是应用实践,主要是对理论知识实践应用,增进知识内化。包括汇编语言程序设计实验步骤、主要调试工具、汇编语言程序设计实验以及微机原理接口技术实验。其中每个实践项目严格按照教学进度,由易到难,并设计若干提高实验和综合实验以及创新性实验项目。同时本书的实验不拘泥于某个实验箱系统,尽量做到通用。本书可作为高等学校本科信息类相关专业学生和教师的参考书,也可以供广大工程技术人员参考。......
![]()
基本信息
| 商品名称: | 汇编语言与接口技术知识精要与实践 | 开本: | 16开 |
| 作者: | 朱莹、王让定、杜呈透 | 定价: | 29.00 |
| ISBN号: | 9787302464723 | 出版时间: | 2017-03-15 |
| 出版社: | 清华大学出版社 | 印刷时间: | 2017-03-01 |
| 版次: | 1 | 印次: | 1 |
目录
*部分知识 精 要
*章微型计算机概述/3
知识点总结/3
习题精解/3
第2章80x86微处理器/6
知识点总结/6
习题精解/6
第3章80x86指令系统和寻址方式/12
知识点总结/12
习题精解/12
第4章80x86汇编语言程序设计/25
知识点总结/25
习题精解/25
第5章存储器技术/50
知识点总结/50
习题精解/50
第6章输入输出接口及数据传输控制方式/54
知识点总结/54
习题精解/54
第7章串并行接口技术/56
知识点总结/56
习题精解/56
第8章中断和DMA技术/67
知识点总结/67
习题精解/67
第9章模拟接口技术/71
知识点总结/71
习题精解/71
*0章高速串行总线/77
知识点总结/77
习题精解/77
第二部分应用 实 践
*1章80x86机器组织/81
11.180x86寄存器/81
11.280x86数据寻址方式/82
11.380x86指令集/84
*2章汇编语言程序设计步骤/85
12.1软件上机过程简述/85
12.2DOS基本命令摘要/86
12.3汇编与宏汇编程序/87
12.4连接程序及程序执行/88
12.5调试工具介绍/89
12.5.1DEBUG/89
12.5.2TD的使用/93
*3章汇编语言程序设计实验/96
13.1算术运算类编程实验/96
13.1.1实验1: 多字节加减法运算编程
实验/96
13.1.2实验2: 十进制数的BCD加减法
编程实验/97
13.1.3实验3: 二进制乘除法编程实验/97
13.2数值转换实验/98
13.3分支程序设计实验/101
13.4循环程序设计实验/103
13.5字符串操作及输入输出实验/105
13.6子程序设计实验/106
13.6.1实验1: 求无符号字节序列中的
*值和*小值/108
13.6.2实验2: 求N!/108
13.7排序程序设计实验/109
13.8查表程序设计实验/110
*4章80x86微机接口技术及其应用实验/112
14.18086微机系统结构配置及I/O地址
译码电路/112
14.1.18086微机系统结构配置/112
14.1.2I/O地址译码电路/115
14.2接口技术基础实验/116
14.2.18253定时/计数器应用实验/116
14.2.28255并行接口实验/118
14.2.38251串行接口应用实验/119
14.2.4D/A转换实验/121
14.2.5A/D转换实验/123
14.2.6中断控制器8259A实验/124
14.3接口技术综合实验/126
14.3.1LED显示实验/126
14.3.2电子发声设计实验/128
14.3.3竞赛抢答器/130
附录A80x86指令集简介/133
......
![]()
第3章
80x86指令系统和寻址方式〖1〗知识点总结本章主要讲授: 80x86的数据类型、寻址方式、指令格式。8086常用指令(数据传送指令、算术运算指令、逻辑运算指令、串操作数指令、处理机指令等)和80386、80486指令系统等。在本章的学习中,注意下面几方面的内容: 掌握80x86的数据类型。 掌握80x86的寻址方式。 掌握80x86的指令系统及它们的一些应用实例。 了解保护属性检查指令、语言指令以及Cache管理指令等。习 题 精 解1. 已知DS=2000H,BX=0100H,SI=0002H,存储单元\[20100H\]~\[20103H\]依次存放12 34 56 78H,\[21200H\]~\[21203H\]依次存放2A 4C B7 65H,说明下列每条指令执行后AX寄存器的内容。(1) MOVAX,1200H(2) MOVAX,BX(3) MOVAX,\[1200H\](4) MOVAX,\[BX\](5) MOVAX,\[BX 1100H\](6) MOVAX,\[BX SI\](7) MOVAX,\[BX\]\[SI 1100H\]参考答案: 根据物理地址形成公式: 物理地址=段基址×16+有效地址,上述指令执行后AX寄存器的内容如下: (1) 1200H(2) 0100H(3) 4C2AH(4) 3412H(5) 4C2AH(6) 7856H(7) 65B7H分析: 本题主要考查点是数据寻址方式,寻址方式就是指令中用于说明操作数所在地址的方法,或者是寻找操作数有效地址的方法。包括数据寻址和转移地址寻址两大类。80x86的数据寻址方式总结如下: (1) 立即寻址方式。操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数,这种寻址方式就称为立即数寻址方式。注意: (1) 使用立即寻址的指令主要用来给寄存器赋初值,并且只能用于源操作数字段。(2) 不能直接给段寄存器和标志寄存器赋予立即数。例如: MOV AL,5MOV AX,1234HMOV EAX,12345678H(2) 寄存器寻址方式。操作数存放在指令规定的某个寄存器中。例如,对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DL、SP或BP;而对8位操作数,寄存器可以是AH、AL、BH、BL、CH、CL、DH或DL。例如: MOV AL,BHMOV AX,CXMOV EAX,EBP(3) 存储器寻址。操作数存放在存储器中,在寻址时要计算存储单元的有效地址,有效地址可以由以下4种成分组成: 位移量。是存放在指令中的一个8位、16位或32位的数。 基址。其值存放在基址寄存器中。BX、BP以及任何32位通用寄存器都可以作为基址寄存器使用。 变址。其值存放在变址寄存器中。SI、DI以及除ESP外的32位通用寄存器都可以作为基址寄存器使用。 比例因子。是80386及后继机型中新增寻址方式中的术语。其值可为1、2、4、8。根据计算有效地址EA方法不同,存储器寻址又分为以下两种方式: ① 直接寻址(direct addressing)。操作数的有效地址是指令的一部分,它与操作码一起存放在代码段中,默认操作数在数据段(DS)中。如果操作数定义在其他段中,则应在指令中段超越前缀。EA=立即数例: MOV AX,\[200H\]② 寄存器间接寻址(register indirect addressing)。操作数的有效地址EA存放在基址寄存器(BX或BP)或变址寄存器(DI或SI)中。计算物理地址的默认段仍然是SI、DI和BX为DS,BP为SS。EA=寄存器中的值例: MOV AX,\[BX\]MOV AX,\[BP\]MOV AX,\[SI\]MOV AX,\[DI\]③ 寄存器相对寻址(register relative addressing)。由的寄存器内容,加上指令中给出的8位或16位偏移量(当然要以一个段寄存器作为地址基准)作为操作数的偏移地址。EA=基址或变址寄存器(BX、BP、DI、SI)±8位或16位的位移量注意: 寄存器相对寻址常用于存取表格或一维数组中的元素——把表格的起始地址作为位移量,元素的下标值放在间址寄存器中(或反之)。例: MOV AX,\[BX 2\]MOV AX,\[BP 1\]MOV AX,\[SI-1\]MOV AX,\[DI-2\]MOV AX,\[BX 2000H\]MOV AX,\[BP 1000H\]MOV AX,\[SI-1000H\]MOV AX,\[DI-2000H\]④ 基址变址寻址(baseplusindex addressing)。有效地址由基址寄存器(BP或BX)的内容加上变址寄存器(DI或SI)的内容形成。如基址寄存器为BX时,与DS形成的物理地址指向数据段;如基址寄存器为BP时,与SS形成的物理地址指向堆栈段。EA=基址寄存器的内容 变址寄存器的内容例: MOV AX,\[BX SI\]MOV AX,\[BX DI\]MOV AX,\[BP SI\]MOV AX,\[BP DI\]注意: 一条指令中同时使用基址寄存器或变址寄存器是错误的。例: MOV CL, \[BX BP\]或MOV AX, \[SI DI\]均为非法指令。⑤ 基址变址相对寻址(baseplusindex relative addressing)。有效地址由基址寄存器(BP或BX)、变址寄存器(DI或SI)及相对偏移量形成。默认段的使用仍然是DS与BX组合,SS与BP组合。EA=基址寄存器的内容 变址寄存器的内容±8位或16位的位移量例: MOV AX,\[BX SI 2\]MOV AX,\[BX DI 1\]MOV AX,\[BP SI-1\]MOV AX,\[BP DI-2\]MOV AX,\[BX SI 2000H\]MOV AX,\[BX DI 1000H\]MOV AX,\[BP SI-1000H\]MOV AX,\[BP DI-2000H\]⑥ 比例变址寻址方式。有效地址为变址寄存器的内容乘以指令中的比例因子再加上位移量之和。例: MOV EAX,\[ESI×4 100H\]⑦ 基址比例变址寻址方式。有效地址为变址寄存器的内容乘以指令中的比例因子再加上基址寄存器的内容之和。例: MOV EAX,\[ESI×4 EBX\]⑧ 相对基址比例变址寻址方式。有效地址为变址寄存器的内容乘以指令中的比例因子,加上基址寄存器的内容,再加上位移量之和。例: MOV EAX,\[ESI×4 EBX 8\] (4) 隐含寻址。指令操作数是隐含的,在指令中未显式地指明。例: MULBL上面的指令隐含了被乘数AL及乘积AX。类似的指令还有DIV、CBW、MOVS等。(5) I/O端口寻址。I/O端口寻址可分为以下两种方式: ① 直接端口寻址。端口地址用8位立即数(0~255)表示。例: INAL,21H;从I/O端口地址为21H的端口中读取数据送到AL中② 间接端口寻址。I/O端口地址事先存放在规定的DX寄存器中(0~65 535)。例: MOVDX,0FF03HOUTDX,AL;将AL中的内容输出到地址由DX内容所的端口中2. 指出下列指令的错误(1) MOV CX,DL(2) MOV IP,AX(3) MOV ES,1234H(4) MOV ES,DS(5) MOV AL,300(6) MOV \[SP\],AX(7) MOV AX,BX DI(8) MOV 20H,AH参考答案: (1) 字长不同。(2) 不能给IP赋值。(3) 立即数不能直接赋给段寄存器。(4) 给段寄存器赋值一定需要累加器。(5) 立即数300超过8位不能赋给8位寄存器AL。(6) SP不能作为间址寄存器寻址。(7) 两个寄存器不能相加。(8) 立即数不能作为目标操作数。分析: 本题主要考查在应用通用传送指令时需要注意的以下几项(以MOV指令为例): (1) 传送指令可传送8位数据,也可传送16位数据,具体取决于指令中涉及的寄存器是8位还是16位,也取决于立即数的形式。例如:MOV AX,\[35AH\];传送DS段中偏移地址为35AH的字单元内容至AXMOV BL,\[35AH\];传送DS段中偏移地址为35AH的字节单元内容至BLMOV \[BP\],WORD PTR 18H ;传送16位数据0018H至SS段中的两个单元MOV \[BP\],BYTE PTR 37H ;传送8位数据37H至SS段中的一个单元(2) 传送指令中总是既含源操作数,又含目的操作数,两者之中至少有一个是用寄存器指出的,这可减少指令长度。因此,一个立即数不能直接送直接寻址的内存单元。交换指令(XCHG)的两个操作数都不能是立即数。例如:MOV WORD PTR \[1000H\],32A8H;错误MOV WORD PTR \[BX\],32A8H;正确(3) 传送指令不能在两个内存单元之间直接传送数据。例如:MOV \[2000H\],\[35AH\];错误MOV WORD PTR \[BX\],\[8729H\];错误(4) 在传送指令中,寄存器既可以作为源操作数,也可以作为目的操作数,但CS寄存器不能作为目的操作数,换句话说,这个寄存器的值不能随意修改。而IP寄存器既不能作源操作数,也不能作目的操作数。例如:MOV CS,\[35AH\];错误MOV CS,AX;错误MOV AX,IP;错误MOV IP,WORD PTR\[BX\];错误(5) 用BX、SI、DI来间接寻址时,默认的段寄存器为DS;而用BP来间接寻址时,默认的段寄存器为SS。例如,对于MOV WORD PTR\[BP\],1000和MOV WORD PTR\[BX\],2000这两条指令, 设DS=3000H,SS=4000H,BX=5000H,BP=6000H,则前一条指令将立即数1000送到物理地址为46000H和46001H的两个单元中,后一条指令将立即数2000送到物理地址为35000H和35001H的两个单元中。(6) 8086系统规定,凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行后,又自动恢复对SS寄存器赋值前的中断开放状态。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。了解这一点后,就应该注意在SS和SP的指令之间不要插入其他指令。例如,下述写法是错误的:MOV SS,AXMOV DL,38HMOV AH,2INT 21HMOV SP,BX(7) 除了一些直接影响FLAGS的指令(如POPF)外,一般传送指令不改变标志寄存器的内容。(8) 立即数不能直接送段寄存器DS、ES以及SS。例如: MOV DS,875BH;错误MOV AX,875BHMOV DS,AX;正确 MOV WORD PTR\[BX\],32A8HMOV ES,\[BX\];正确实际上,上述几点中有些要求适于其他通用传送型指令,甚至也适用于其他种类的指令,读者可在后面的学习中不断总结和积累。3. 已知数字0~9对应的格雷码依次为18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以TABLE为首地址(设为200H)的连续区域中。为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。LEABX,TABLEMOV AL,8XLAT参考答案: LEA BX,TABLE; 得到表首地址,放在寄存器BX中MOVAL,8;立即数8赋值给AL,即AL中存放的是相对于表首的偏移地址XLAT;利用查表转换指令,实质是查找8的格雷码结果是(AL)=12H。程序段的功能为把表首地址即200H赋给BX。分析: 本题主要考查查表转换指令(XLAT)的应用。指令功能: AL←DS: \[BX AL\]。用途: 用于查表(或对一维数组操作),表首地址的偏移地址在BX中,表长度可达256B。以BX的值作为内存字节数组首地址,把下标为AL的数组元素的值传送给AL。有两个隐含操作数BX和AL。4. 什么是堆栈?它的工作原则是什么?它的基本操作有哪两个?对应哪两种指令?参考答案: 堆栈是一段具有特殊存取规则的数据区,工作原则是先进后出(FILO),它有两种基本的操作,即进栈和出栈,对应的指令为PUSH和POP。分析: 堆栈的应用很多,应用8086/8088系统堆栈时要注意下面几点: 堆栈是向下生长的。 堆栈的工作原则是先进后出(FILO)。 堆栈有两种操作,即进栈和出栈,只能进行字操作,且是对准字。 堆栈对应的逻辑地址是SS:SP。6. 给出下列各条指令执行后AL的值以及CF、ZF、SF、OF和PF的状态。MOV AL,89HADD AL,AL
......
![]()
本书是《汇编语言与接口技术(第4版)》知识点精讲、拓展及实践教材,全书分为两个部分。*部分是知识精要,共10章,主要结合主教材的知识结构,对知识点进行精讲、拓展,每一章都系统总结了主教材的主要知识点,并给出主教材的大部分课后习题的详细分析讲解和参考答案。第二部分是应用实践,共4章,主要是对理论知识的实践应用,以增进知识内化,内容包括汇编语言程序设计实验步骤、主要调试工具、汇编语言程序设计实验以及微机原理接口技术实验,每个实践项目严格按照教学进度安排,由易到难,并设计若干提高实验、综合实验以及创新性实验。本书的实验不限于某个实验箱系统,尽量做到通用。本书可作为高等学校本科信息类相关专业的教材,也可供广大工程技术人员参考。......
![]()
![]()
![]()
![]()
......
![]()
作者简介:王让定,博士,宁波大学教授、博士生导师,浙江省高校中青年学科带头人,“计算机科学与技术”国家特色专业建设点负责人,浙江省高等学校省级教学团队负责人,宁波大学教学名师,校计算机科学与技术教学团队负责人。现兼任中国体视学学会理事,中国计算机学会开放系统专委会委员,中国电子学会通信学会多媒体信息安全专委会委员,浙江省高校计算机教学研究会副理事长,浙江省计算机应用与教育学会教育委员会副主任,浙江省物联网专业委员会副主任,浙江省高校计算机教学指导委员会委员,浙江省大学生软件设计竞赛组委会成员。主持了4项国家自然基金项目,获省科技进步奖2项、浙江省高校科研成果奖3项,获国家发明*授权6项。在发表学术或教学研究论文80多篇,其中被SCI/EI/ISTP检索的论文有30多篇,主编国家“十一五”规划教材1部,国家“十二五”规划教材1部。......
1