微机系统原理与接口技术答案

微机系统原理与接口技术答案
微机系统原理与接口技术答案

第1章习题解答

1、冯诺依曼计算机的内涵是什么?这种计算机程序运行是由指令流驱动的还是数据流驱动的?

答:冯诺依曼计算机的内涵:

由运算器、控制器、存储器、输入设备、输出设备5大部分组成计算机硬件。

数据和计算机指令采用二进制数形式表示,存储在计算机内部存储器中。

计算机工作原理的核心是“存储程序”和“程序控制”。事先编制好的由计算机指令组成的程序在执行前先装入存储器,控制器依据程序中的指令顺序周而复始地取出指令、分析指令、执行指令,根据指令的功能进行相应的运算,直到完成全部指令操作为止.

程序的运行是通过指令流来驱动的。

2、微型计算机系统有哪三个层次?试简述它们的内涵及其联系和区别。

答:微型计算机系统的三个层次:微处理器、微型计算机和微型计算机系统。

三者的内涵:

微处理器是利用大规模集成电路技术,将组成计算机的核心部件——运算器和控制器集成在一块硅片上的集成电路,简称MPU,习惯上称CPU。

微型计算机则是以微处理器为核心,配以内存储器、输入/输出(I/O)接口电路,通过总线结构连接而构成的裸机。

微型计算机系统是由微型计算机配以相应的外围设备(如键盘、显示器、打印机、外存储器等)、电源和其他辅助设备(如面板、机架等),以及控制微型计算机工作的软件而构成的完整的计算系统。

它们三者之间是从局部到全局的关系。单纯的微处理器和单纯的微型计算机都不能独立工作。只有微型计算机系统才是完整的计算系统,才可正常工作。

3、为什么把微型计算机的基本结构说成是总线结构?试简述总线结构的优点。

答:在微型计算机中,各组成部分之间是通过总线(包括地址总线、数据总线、控制总线)连接在一起而构成一个整体的,它们之间的信息交换也是通过总线进行。CPU通过总线与存储器和I/O接口电路连接,I/O接口和外设也是通过总线连接,即使在CPU内部,它的各功能部件也是通过总线相连的。因此微型计算机的基本结构就是总线结构。

微型计算机采用总线结构后,系统中各功能部件之间的相互关系变为各部件面向总线的单一关系。一个部件只要满足总线标准,就可直接连接到采用这种总线标准的系统中。这使得系统的设计与构造非常方便,同时也便于系统的扩充、升级和维修。

4、微型计算机硬件系统由哪些部分组成?各组成部分的功能是什么?

答:微型计算机硬件系统主要由CPU、存储器、I/O接口电路、输入/输出设备、总线,以及电源和一些辅助设备构成。

CPU:微机系统的核心部件,是运算和指挥控制中心。

存储器:包括内存和外存,是微机系统的存储和记忆部件,用以存放数据和程序。

I/O接口电路:CPU与输入/输出设备的连接与信息交换不能直接进行,I/O接口电路充当了二者之间的“桥梁”。

输入/输出设备:计算机与外界(人或其他设备,包括另一台计算机)联系和沟通的桥梁,用户通过输入/输出设备与微机系统互相通信。

总线:以上各组成部分是通过总线连接在一起构成一个整体的,各部件之间的信息运载和传输由总线承担。

5、计算机分那几类?各有什么特点?

答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。

6、微处理器应包含的最基本功能部件是哪些?

答: 算术逻辑单元,寄存器阵列,控制器部件。

7、微计算机应包含的最基本功能部件是哪些?

答: 微处理器,内存储器, 外围接口电路 , 系统总线。

8、微型计算机系统有哪几部分组成,简述各部分功能特点?

答:运算器、控制器、存储器、输入输出设备及其接口电路。

9、一个完整的计算机系统通常包括系统软件和应用软件、硬件系统和软件系统、计算机及其外部设备、系统硬件和系统软件这四种组合中的哪一种?

答:硬件系统和软件系统。

10、通常我们所说的32位机,指的是这种计算机CPU是什么样的?

答:总线的数据宽度为32位。

第2章习题解答

1、8086/8088的CPU由哪两部分组成?它们的主要功能各是什么?

答:由总线接口部件BIU和执行部件EU组成。

BIU主要负责CPU内部与存储器和I/O接口之间的信息传送,包括取指令、传送EU 执行指令过程中需要的操作数和EU的执行结果。

EU则主要负责分析和执行指令,并产生相应的控制信号。

2、8086/8088 CPU中有哪些寄存器?其主要作用是什么?

答:1)8个通用寄存器:

AX、BX、CX、DX:暂存运算过程中的操作数、计算结果和其他信息。

BP、SP、SI、DI:主要用于访问内存时提供16位偏移地址。BP、SI、DI也可用于暂存运算过程中的操作数。

2)4个段寄存器:

CS、DS、SS、ES:专门用于存放段地址。

3)IP:存放代码段中指令的偏移地址。在程序执行过程中,它始终指向下一条要执行的指令,从而控制着程序的执行流程。

4)标志寄存器FLAGS:记录CPU的工作状态。

3、状态标志和控制标志有何不同?8086/8088的状态标志和控制标志有哪些?

答:8086/8088的状态标志有6个:CF、AF、SF、PF、OF、ZF,控制标志有3个:TF、DF、IF。

状态标志用于表示执行某种操作后ALU所处的状态,例如运算结果是否有溢出、最高位是否有进位等,这些状态是执行指令操作后自动设置的;而控制标志是人为设置的,每个控制标志将对某种特定的功能起控制作用,例如IF控制着CPU是否响应外设申请的可屏蔽中断请求。

4、8086/8088系统中存储器的逻辑地址和物理地址之间有什么关系?写出存储器地址:3FB0H:0053H的段地址、偏移地址和物理地址。

答:8086系统中,逻辑地址由段地址和段内偏移地址构成,是用户编写程序时所用的地址。物理地址则是CPU与内存交换数据时所使用的地址。CPU在执行存储在内存中的程序时,需要将逻辑地址转换为物理地址:物理地址=段地址×16+段内偏移地址。

存储器地址3FB0H:0053H

段地址:3FB0H 偏移地址:0053H 物理地址:3FB53H

5、什么是引脚的分时复用?请说出8086/8088CPU有哪些引脚是分时复用引脚?其要解决的问题是什么?

答:引脚的分时复用指的是同一引脚在同一总线周期的不同状态(时钟周期)内功能不同,例如地址/数据引脚在总线周期的T1态作为地址总线使用,而在其他状态则作数据总线使用。

8086CPU的分时复用引脚有:

AD0-AD15:地址/数据引脚

A19/S6-A16/S3:地址/状态引脚

BHE/S7:高8位数据总线允许/状态引脚

引脚复用技术主要是解决8086CPU封装芯片引脚数目受限制,引脚比较紧张而采取的

措施。

6、若8086CPU工作于最小模式,试指出当CPU完成将AH的内容送到物理地址为91001H 的存储单元操作时,以下哪些信号应为低电平:M/ IO、RD、WR、BHE/S

7、DT/R。若CPU 完成的是将物理地址91000H单元的内容送到AL中,则上述哪些信号应为低电平。

答:当CPU完成将AH的内容送到物理地址为91001H的存储单元操作时,CPU执行的是将AH中的一个字节写入内存奇地址单元(91001H)的操作,此时M/IO=1(CPU访问内存),RD=1,WR=0 (写操作),BHE/S7=0(选中奇地址单元,数据通过高8位数据总线传送,BHE=0),DT/R=1(写操作)。

若CPU完成的是将物理地址为91001H的存储单元的内容送到AL中,CPU执行的是从内存偶地址单元(91000H)读取一个字节送入AL的操作,此时M/IO=1(CPU访问内存),RD=0(读操作),WR=1,BHE/S7=1(选中偶地址单元,数据通过低8位数据总线传送,BHE=1,A0=0),DT/R=0(读操作)。

7、什么是指令周期?什么是总线周期?什么是时钟周期?它们之间的关系如何?8086/8088 CPU读/写总线周期各包含多少个时钟周期?什么情况下需要插入Tw周期?应插入多少个Tw取决于什么因素?

答:指令周期:一条指令从其代码被从内存单元中取出到其所规定的操作执行完毕,所用的时间称为相令的指令周期。

总线周期:CPU通过总线与内存或I/O端口之间,进行一个字节数据交换所进行的操作,称为一次总线操作,相应于某个总线操作的时间即为总线周期。

时钟周期:微机系统工作的最小时间单位,它取决于系统的主频率,系统完成任何操作所需要的时间均是时钟周期的整数倍。

对以上三个概念分析后可知,指令周期应包含若干个总线周期,因为指令周期中进行的取指令、读/写内存或I/O端口操作都需要执行总线周期。而总线周期又包含若干时钟周期。

一个基本的8086读写总线周期通常包含4个时钟周期:T1态、T2态、T3态、T4态。

T1态:CPU输出地址信息,指示所要读写的内存单元或I/O端口的地址。

T2态-T4态:CPU读写内存单元或I/O端口。

如果系统中的内存或I/O端口读写速度较慢,不能及时进行数据传送,CPU将检测到READY引脚为低电平,此时CPU需要在T3态之后插入一个或若干个TW等待周期。插入多少个TW取决于READY引脚何时变为高电平,一旦CPU检测到READY引脚变为高电平,便会马上脱离TW,进入T4态。

8、8086在结构上引入的最重要概念是什么?以后从8086到80286,到80386,到80486,直到Pentium4,每更新一代CPU,主要有什么改进?

答:8086CPU在结构上引进的两个主要概念是:

指令流水线和存储器分段管理。

从8086到Pentium4,每更新一代CPU,主要的改进有:

80286:

指令流水线级数由8086的两级提高至4级,提高了数据的吞吐率;

引进虚拟存储器概念,把外存当内存用,扩大了软件可使用的存储空间,解决了内存容量不足的问题;

CPU的工作方式演变出两种:实方式和保护方式。在保护方式下80286可支持多任务多用户操作。

80386:

CPU芯片封装开始采用PGA封装,以适应高频率环境;

CPU增加一种新的工作方式:虚拟8086方式。

80486:

CPU芯片开始采用通过相应的接口(Socket插座)安装到主板上;

芯片内部集成与CPU速度相当的高速缓冲存储器,提高了系统的运行速度;

首次采用RISC技术,可在一个时钟周期内执行一条指令;

采用突发总线方式提高与内存的数据交换速度;

引入倍频技术。

Pentium:

首次引进超标量结构,可在一个时钟周期内执行两条指令,极大地提高了程序的执行速度;

采用双Cache结构;

工作方式增加系统管理方式;

采用分支预测技术。

Pentium Pro:

超标量结构增加至3级,流水线级数增至14级,为设计和制造更高频率CPU创造了条件;

引进动态执行技术,使程序执行效率更高。

Pentium MMX:

增加MMX(多媒体扩展技术)指令集,增强了Pentium处理器在音像、图形和通信方面的能力。

Pentium II:

CPU封装改用SEC卡盒封装形式,提出了将L2 Cache和CPU整合在芯片内部的思想;

采用双总线结构,L2 Cache能运行在更高频率上(CPU主频的一半)。

Pentium III:

新增加SSE指令集,进一步增强了CPU的音频、视频和三维处理能力,并大大优化网络功能;

CPU主频突破1GHz。

Pentium 4:

超标量流水线达到30多级,使Pentium4处理器可达到更高的频率;

首次在台式处理器芯片中引入超线程技术;

增加SSE2、SSE3指令集;

CPU封装改用LGA封装形式。

9、8086是多少位的微处理器?为什么?

答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。10、EU与BIU各自的功能是什么?如何协同工作?

答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O 接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。

11、8086/8088与其前一代微处理器8085相比,内部操作有什么改进?

答:8085为8位机,在执行指令过程中,取指令与执行执令都是串行的。8086/8088由于内部有EU和BIU两个功能部件,可重叠操作,提高了处理器的性能。

12、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?

答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。

13、8086对存储器的管理为什么采用分段的办法?

答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围(1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。

14、在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。

答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。

15、给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。

答:物理地址:320F8H。

16、8086/8088为什么采用地址/数据引线复用技术?

答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。

17、8086与8088的主要区别是什么?

答:8086有16条数据信号引线,8088只有8条;8086片内指令预取缓冲器深度为6字节,8088只有4字节。

第3章习题解答

1、试比较静态RAM和动态RAM的优缺点,它们分别适用于哪些场合?

答:动态RAM因其基本存储电路简单,只由一个MOS管和一个栅极电容构成,故芯片集成度高,功耗低,成本也低,适合作大容量存储器,如PC机的内存条即由动态RAM构成。但因动态RAM需周期性地进行刷新操作(注:动态RAM是靠MOS电路中的栅极电容来记忆信息“1”和“0”,电容上的电荷会泄漏,为防止数据丢失,需要定时给电容上的电荷进行补充。一般的方法是将动态RAM的数据在一定的时间间隔内读出并再写入,这一过程即称“刷新”。),增加了CPU的读/写时间,因而存取速度较慢。

与动态RAM相比,静态RAM存储数据时不需刷新,存取速度快。但因基本存储电路由六个MOS管构成(六个MOS管才能存放1位二进制信息),芯片集成度低,功耗大,制造成本较高,只适合作高速小容量的存储器,如PC机的高速缓存就是由静态RAM构成。

2、目前PC机中常用的SDRAM、DDR SDRAM、DDR2 SDRAM内存提高速度的机理是什么?

答:SDRAM、DDR和DDR2内存提高速度是通过与CPU同步工作、增加在时钟周期内数据传输的次数等途径实现的,具体如下:

SDRAM:能与CPU外频以相同的频率同步工作,也就是说,SDRAM内存能以相同的时钟频率与CPU进行数据交换,不存在延迟时间,也不需插入等待状态,从而提高了内存的存取速度。

DDR:在SDRAM内存的基础上,能在一个时钟周期内传输两次数据,即在时钟周期的上升沿和下降沿都传送数据(SDRAM只在时钟周期的上升沿传送数据),使得DDR内存与SDRAM 内存相比,在相同时间内传输的数据量加倍,进一步提高了内存速度。

DDR2:在一个时钟周期内传输数据的次数达到四次,相同时间内的数据传输量再次加倍,这使得DDR2成为比DDR更快速的内存。

3、什么是高速缓冲存储器?在微机系统中使用高速缓冲存储器的作用是什么?

答:高速缓冲存储器,简称高速缓存或Cache,指位于CPU和主存DRAM之间、容量较小但速度很快(即高速小容量)的存储器,通常由高速的SRAM构成。

在微机系统中使用高速缓存,主要是将高速缓存作为CPU与DRAM内存之间的缓冲区,解决CPU与DRAM内存之间的速度不匹配问题,提高微机系统的运行速度。因为系统中大部分常用的信息只占要使用的信息的一小部分,只要将经常使用的信息存放在一个比内存速度快、与CPU工作速度相当的高速存储区(即高速缓存)中,由于此时CPU大部分时间是与高速的存储区打交道,因此可提高系统的运行速度。从用户的角度看来,采用高速缓存的存储系统,就变成了既有高速缓存的高速度,又有DRAM内存的大容量的一种存储系统。

4、存储器体系为什么采用分级结构,主要用于解决存储器中存在的哪些问题?

答:存储器在微机系统中主要用于存放计算机工作所必需的程序和数据,CPU运行时的大部分总线周期都是用于对存储器的读/写访问,因而存储器性能的好坏将在很大程度上影响微机系统的性能。

微机系统对存储器的要求是容量大、速度快、成本低,但是在一个存储器中要求上述几项性能俱佳是难以办到的,因为有些指标要求之间就是互相矛盾的,例如存储器容量大就不

可能速度快。为解决这一矛盾,目前在微机系统中普遍采用了分级结构,以各类存储器为基础组成一个存储体系,如下图所示。

其根本目的是:提高速度、增加容量和降低成本。其中高速缓存主要是为获取速度,使存取速度能与CPU速度匹配。外存追求大容量,以满足对计算机的容量要求。内存则介于二者之间,即具有适当的容量,能容纳较多的核心软件和用户程序,又要满足系统对速度的要求。

5、什么是虚拟存储器?它的作用是什么?

答:虚拟存储器是一种通过硬件和软件的综合来扩大用户可用存储空间的技术。即系统软件操作系统通过一定的调度策略,把外存当内存来使用:程序预先放在外存,在操作系统的管理和调度下,按某种算法依次调入内存被CPU执行。这样,从用户角度看到的是一个速度接近内存却具有外存容量的假想存储器,这个假想存储器就是虚拟存储器。

虚拟存储器是扩大内存容量、解决容量与速度矛盾的有效措施。用户编程时无需考虑计算机的实际内存容量,可以写出比实际配置的内存容量大得多所用户程序。

6、微处理器内部结构由哪几部分组成?阐述各部分的主要功能。

答:微处理器内部结构主要由算术逻辑运算单元(ALU)、控制器、工作寄存器和I/O控制逻辑组成。算术逻辑运算单元是CPU的核心,它完成所有的运算操作;控制器是CPU的“指挥中心”,只有在它的控制下,CPU才能完成指令的读入、寄存、译码和执行;工作寄存器用于暂时存储寻址信息和计算中间结果;I/O控制逻辑用于处理I/O操作。

7、为什么地址总线是单向的,而数据总线是双向的?

答:由于在计算机中地址总是由CPU产生的,因此地址总线是单向的。而数据可从CPU写到存储器,也可从存储器读到CPU,因此数据总线是双向的。

8、如果某微处理器有20条地址总线和16条数据总线:

(1)假定存储器地址空间与I/O地址空间是分开的,则存储器地址空间有多大?

(2)数据总线上传送的有符号整数的范围有多大?

答:存储空间为220=1048576=1M字节, 数据总线上传送的有符号整数的范围为-32768~+32767。

9、从下列各数中减去4AE0H,求出其结果及标志位CF、AF、SF、ZF、OF和PF的值:

(1)1234H;(2)5D90H;(3)9090H;(4)EA04H

答:(1)1234H-4AE0H=C754H;CF=1,AF=0,SF=1,ZF=0,OF=0,PF=0(2)5D90H-4AE0H=12B0H;CF=0,AF=0,SF=0,ZF=0,OF=0,PF=0

(3)9090H-4AE0H=45B0H;CF=0,AF=0,SF=0,ZF=0,OF=0,PF=0

(4)EA04H-4AE0H=9F24H;CF=0,AF=0,SF=1,ZF=0,OF=0,PF=1

10、写出下列存储器地址的段地址、偏移地址和物理地址:

(1)2134:10A0;(2)1FA0:0A1F;(3)267A:B876

答:(1)段地址:2134H;偏移地址:10A0H;物理地址:223E0H (2)段地址:1FA0H;偏移地址:0A1F H;物理地址:2041FH

(3)段地址:267A H;偏移地址:B876H;物理地址:32016H

11、如果在一个程序段开始执行之前,(CS)=0A7F0H,(IP)=2B40H,求该程序段的第

一个字的物理地址。

答:物理地址为: 0A7F0H×10H+2B40H=A3330H。

12、IBM PC有哪些寄存器可用来指示存储器的地址?

答:指示存储器地址的寄存器有:SI,DI,BX,BP

13、若(CS)=5200H时,物理转移地址为5A238H,那么(CS)变成7800H时,物理转移地

址为多少?

答:偏移地址为5A238H-5200H×10H=8238H,因此当(CS)变成7800H时,物理转移地址为7800H×10H+8238H=80238H

14、将下列两组的词汇和说明关联起来:

(1)CPU; A.保存当前栈顶地址的寄存器;

(2)EU; B.指示下一条要执行指令的地址;

(3)BIU; C.总线接口部件, 实现执行部件所需要的所有总线操作;

(4)IP; D.分析并控制指令执行的部件;

(5)SP; E.存储程序、数据等信息的记忆装置,PC机有RAM和ROM两种;

(6)存储器; F.以后进先出方式工作的存储器空间;

(7)堆栈; G.把汇编语言程序翻译成机器语言程序的系统程序;

(8)指令; H.惟一代表存储器空间中的每个字节单元的地址;(9)状态标志; I.能被计算机直接识别的语言;

(10)控制标志; J.用指令的助记符、符号地址、标号等符号书写程序的语言;

(11)段寄存器; K.把若干个模块连接起来成为可执行文件的系统程序;(12)物理地址; L.保存各逻辑段的起始地址的寄存器;

(13)汇编语言; M.控制操作的标志,PC机有三位:DF、IF、TF;(14)机器语言; N.记录指令操作结果的标志,PC机有六位:OF、SF、ZF、AF、PF、CF;

(15)汇编程序; O.执行部件,由算术逻辑单元(ALU)和寄存器组等组成;

(16)连接程序; P.由汇编程序在汇编过程中执行的指令;

(17)目标码; Q.告诉CPU要执行的操作,在程序运行时执行;(18)伪指令 R.机器语言代码。

答:两组词汇和说明的关联关系为

(1)~O;(2)~D;(3)~C;(4)~B;(5)~A;(6)~E;(7)~F;(8)~Q;(9)~N;(10)~M;(11)~L;(12)~H;(13)~J;(14)~I;(15)~G;(16)~K;(17)~R;(18)~P。

15、有一块120个字的存储区域,其起始地址为625A:234D,写出这个存储区域首末单元的物理地址。

答:存储区域的字节数为:2×120=240=0F0H,

首地址为:625AH×10H+234DH=648EDH,

末地址为:648EDH+0F0H=649DDH,

或者:625AH×10H+(234DH+0F0H)=625A0H+243DH=649DDH。

16、两个十六进制数7825H和5A1FH分别相加和相减后,求运算结果及各标志位的值。答:7825H+5A1FH=0D244H,AF=1,CF=0,ZF=0,SF=1,OF=1(当将7825H和5A1FH 看作有符号数时,两个正数相加得到一个负数,结果显然是错误的,实际上,在运算过程中,次高位产生了进位而最高位没有产生进位,故运算产生溢出),PF=1(因为在44H中包含有偶数个1)。

7825H-5A1FH=1E06H,AF=1,CF=0,ZF=0,SF=0,OF=0,PF=1。

5A1FH-7825H=0E1FAH,AF=0,CF=1,ZF=0,SF=1,OF=0,PF=1。

17、在8088/8086中,逻辑地址FFFF∶0001, 00A2∶37F和B800∶173F的物理地址分别是多少?

答:物理地址=段地址×10H+偏移地址

所以FFFF:0001的物理地址是FFFFH×10H+0001H=FFFF1H

00A2:37F的物理地址是00A2×10H+037FH=00D9FH

B800:173F的物理地址是B800×10H+173F=B973FH

18、在8088/8086中,从物理地址388H开始顺序存放下列三个双字节的数据,651AH, D761H 和007BH,请问物理地址388H, 389H, 38AH, 38BH, 38CH和38DH 6个单元中分别是什么数据?

答:

第4章习题解答1. 根据下列要求编写一个汇编语言程序:

(1)代码段的段名为COD_SG

(2)数据段的段名为DA T_SG

(3)堆栈段的段名为STK_SG

(4)变量HIGH_DA T所包含的数据为95

(5)将变量HIGH_DAT装入寄存器AH,BH和DL (6)程序运行的入口地址为START

答案:

DA T_SG SEGEMNT

HIGH_DAT DB 95

DA T_SG ENDS

;

STK_SG SEGMENT

DW 64 DUP(?)

STK_SG ENDS

;

COD_SG SEGMENT

MAIN PROC FAR

ASSUME CS: COD_SG, DS: DA T_SG, SS: STK_SG START: MOV AX, DAT-SG

MOV DS, AX

MOV AH, HIGH_DAT

MOV BH, AH

MOV DL, AH

MOV AH, 4CH

INT 21H

MAIN ENDP

COD_SG ENDS

END START

2. 指出下列程序中的错误:

STAKSG SEGMENT

DB 100 DUP(?)

STA_SG ENDS

DTSEG SEGMENT

DATA1 DB ?

DTSEG END

CDSEG SEGMENT

MAIN PROC FAR

START: MOV DS,DATSEG

MOV AL,34H

ADD AL,4FH

MOV DATA,AL

START ENDP

CDSEG ENDS

END

答案:

改正后:

STAKSG SEGMENT

DB 100 DUP(?)

STAKSG ENDS

DTSEG SEGMENT

DA TA1 DB ?

DTSEG ENDS

CDSEG SEGMENT

MAIN PROC FAR

ASSUME CS: CDSEG, DS: DTSEG, SS: STAKSG

START: MOV AX, DTSEG

MOV DS, AX

MOV AL, 34H

ADD AL, 4FH

MOV DATA1, AL

MOV AH, 4CH

INT 21H

MAIN ENDP

CDSEG ENDS

END START

3. 将下列文件类型填入空格:

(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map

编辑程序输出的文件有______________________________________;

汇编程序输出的文件有______________________________________;

连接程序输出的文件有______________________________________。

答案:

编辑程序输出文件: (4)

汇编程序输出文件: (1), (3), (5)

连接程序输出文件: (2), (6)

4. 下列标号为什么是非法的?

(1) GET.DATA (2) 1_NUM (3) TEST-DA TA (4) RET (5) NEW ITEM

答案:

非法标号: (1)因为‘.’只允许是标号的第一个字符

(2)第一个字符不能为数字

(3)不允许出现‘-’

(4)不能是保留字,如助记符

(5)不能有空格

5. 下面的数据项定义了多少个字节?

DATA_1 DB 6 DUP(4 DUP(0FFH))

答案:

24字节

6. 对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?

DTSEG SEGMENT | DTSEG SEGMENT

ORG 10H | ORG 10H

DATA1 DB 72H | DATA1 DW 7204H

DB 04H | DTSEG ENDS

DTSEG ENDS |

答案:

不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节.

7. 下面的数据项设置了多少个字节?

(1) ASC_DA TA DB ‘1234’(2) HEX_DATA DB 1234H

答案:

(1) 设置了4个字节(2) 设置了2个字节

8. 执行下列指令后, AX寄存器中的内容是什么?

TABLE DW 10,20,30,40,50

ENTRY DW 3

.

.

.

MOV BX,OFFSET TABLE

ADD BX,ENTRY

MOV AX,[BX]

答案:

(AX)=40

9. 指出下列指令的错误:

(1) MOV AH,BX (2) MOV [SI],[BX] (3) MOV AX,[SI][DI]

(4) MOV AX,[BX][BP] (5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000

(7) MOV AX,OFFSET [SI] (8) MOV CS,AX (9) MOV DS,BP

答案:

(1) 源、目的字长不一致

(2)源、目的不能同时为存贮器寻址方式

(3) 基址变址方式不能有SI和DI的组合

(4) 基址变址方式不能有BX和BP的组合

(5) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮

器寻址方式

(6) 1000超出一个字节的表数范围

(7) OFFSET只用于简单变量,应去掉

(8) CS不能作为目的寄存器

(9) 段地址不能直接送入数据段寄存器

10. DATA SEGMENT

TABLE_ADDR DW 1234H

DATA ENDS

.

.

.

MOV BX, TABLE_ADDR

LEA BX, TABLE_ADDR

请写出上述两条指令执行后, BX寄存器中的内容。

答案:

MOV BX,TABLE_ADDR ; 执行后(BX)=1234H

LEA B X,TABLE_ADDR ; 执行后(BX)=OFFSET TABLE_ADDR

11. 设(DS)=1B00H, (ES)=2B00H, 有关存储器地址及其内容如右图

所示,请用两条指令把X装入AX寄存器。1B00:2000H

1B00:2002H

2B00:8000H

答案:

LES BX, [2000H]

MOV AX, ES: [BX]

12. 变量DATAX和DA TAY定义如下:

DATAX DW 0148H

DW 2316H

DATAY DW 0237H

DW 4052H

按下述要求写出指令序列:

(1)DATAX和DA TAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。

(2)DATAX和DA TAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。

(3)DATAX和DA TAY两个字数据相乘(用MUL)。

(4)DATAX和DA TAY两个双字数据相乘(用MUL)。

(5)DATAX除以23(用DIV)。

(6)DATAX双字除以字DATAY(用DIV)。

答案:

(1) MOV AX, DA TAX

ADD AX, DA TAY

MOV BX, DA TAX+2

ADD BX, DA TAY+2

MOV DATAY, AX

MOV DATAY+2, BX

(2) MOV AX, DA TAX

ADD DATAY, AX

MOV AX, DA TAX+2

ADC DATAY+2, AX

(3) MOV AX, DA TAX

MUL DATAY

MOV DATAY,AX

MOV DATAY+2,DX

(4)

MOV AX,WORD PTR DA TAX

MOV BX,WORD PTR DA TAY

MUL BX

MOV RESULT,AX

MOV RESULT+2,DX

MOV AX,WORD PTR DA TAX

MOV AX,WORD PTR DA TAY+2

MUL BX

ADD RESULT+2,AX

ADC RESULT+4,DX

MOV AX,WORD PTR DA TAX+2

MOV BX,WORD PTR DA TAY

MUL BX

ADD RESULT+2,AX

ADC RESULT+4,DX

MOV AX,WORD PTR DA TAX+2

MOV BX,WORD PTR DA TAY+2

MUL BX

ADD RESULT+4,AX

ADC RESULT+6,DX

(5) MOV AX, DA TAX

MOV BL, 23

DIV BL

MOV BL,AH

MOV AH, 0

MOV DATAY, AX ;存放商

MOV AL,BL

MOV DATAY+2, AX ;存放余数

(6) MOV AX, DA TAX

MOV DX, DA TAX+2

DIV DATAY

MOV DATAY, AX

MOV DATAY+2, DX

13. 试分析下面的程序段完成什么操作?

MOV CL,04

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL

答案:

将DX: AX中的双字左移4位(乘16)

14. 用其他指令完成和下列指令一样的功能:

(1) REP MOVSB (2) REP LODSB (3) REP STOSB (4) REP SCASB

答案:

(1)LOOP1:

MOV AL,BYTE PTR [SI]

MOV ES:BYTE PTR [DI], AL

INC SI 或: DEC SI

INC DI 或: DEC DI

LOOP LOOP1

(2) LOOP1:

MOV AL, BYTE PTR [SI]

INC SI 或: DEC SI

LOOP LOOP1

(3) LOOP1:

MOV ES:BYTE PTR [DI], AL

INC DI 或: DEC DI

LOOP LOOP1

(4) LOOP1:

CMP AL,ES:BYTE PTR [DI]

JE EXIT

INC DI 或: DEC DI

LOOP LOOP1

EXIT:

15.编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS

不同, 则执行NEW_LESS, 否则顺序执行程序。

答案:

LEA S I, OLDS

LEA D I, NEWS

MOV CX, 5

CLD

REPZ CMPSB

JNZ NEW_LESS

16. 假定AX和BX中的内容为带符号数, CX和DX中的内容为无符号数, 请用比较指令和条件转移指令实现以下判断:

(1)若DX的值超过CX的值,则转去执行EXCEED

(2)若BX的值大于AX的值,则转去执行EXCEED

(3)CX中的值为0吗? 若是则转去执行ZERO

(4)BX的值与AX的值相减, 会产生溢出吗? 若溢出则转OVERFLOW

(5)若BX的值小于AX的值,则转去执行EQ_SMA

(6)若DX的值低于CX的值,则转去执行EQ_SMA

答案:

(1) CMP DX, CX

JA EXCEED

(2) CMP BX, AX

JG EXCEED

(3) CMP CX, 0

JE ZERO

(4) SUB BX, AX

JO OVERFLOW

(5) CMP BX, AX

JL EQ_SMA

(6) CMP DX, CX

JB EQ_SMA

17. 假如在程序的括号中分别填入指令:

(1) LOOP L20 (2) LOOPNE L20 (3) LOOPE L20

试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么?

TITLE https://www.360docs.net/doc/2d14104996.html,

CODESG SEGMENT

ASSUME CS:CODESG, DS:CODESG. SS:CODESG

ORG 100H

BEGIN: MOV AX,01

MOV BX,02

MOV DX,03

MOV CX,04

L20: INC AX

ADD BX,AX

SHR DX,1

( )

RET

CODESG ENDS

END BEGIN

答案:

(1)(AX)= 5 (BX)= 16 (CX)= 0 (DX)= 0

(2)(AX)= 2 (BX)= 4 (CX)= 3 (DX)= 1

(3)(AX)= 3 (BX)= 7 (CX)= 2 (DX)= 0

18. 变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。答案:

MOV AX, 0

MOV AL, N1+1

SUB A L, N2+1

AAS

MOV DL, AL

MOV AL, N1

SBB A L, N2

AAS

MOV DH, AL

19. 有两个3位的ASCII数串ASC1和ASC2定义如下:

ASC1 DB ‘578’

ASC2 DB ‘694’

ASC3 DB ‘0000’

请编写程序计算ASC3←ASC1+ASC2。

答案:

CLC

MOV CX, 3

MOV BX, 2

BACK:

MOV AL, ASC1[BX]

ADC AL, ASC2[BX]

AAA

OR ASC3[BX+1], AL

DEC BX

LOOP BACK

RCL C X, 1

OR ASC3[BX], CL

20. 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF 的值。

(1) SBB AX,BX (2) CMP AX,WORD PTR[SI+0FA0H]

(3) MUL BYTE PTR[BX] (4) AAM

(5) DIV BH (6) SAR AX,CL

(7) XOR AX,0FFE7H (8) REP STOSB

(9) JMP WORD PYR[BX] (10) XCHG AX,ES:[BX+SI]

答案:

(1) (AX)=0F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1

(2) (SF)=1, (ZF)=0, (OF)=1, (CF)=1

(3) (AX)=0240H, (OF)=1, (CF)=1

(4) (AX)=0906H, (SF)=0, (ZF)=0

(5) (AX)=20ACH

(6) (AX)=0103H, (CF)=0

(7) (AX)=0DF87H, (CF)=0, (OF)=0, (SF)=1, (ZF)=0

(8) (23000H)~(23004H)=60H, 不影响标志位

(9) (IP)=0A006H, 不影响标志位

(10) (AX)=00B0H, (25060)=2060H, 不影响标志位

第5章习题解答

1. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

答案:

abc: mov ah,1

int 21h

cmp al,’a’

jb stop

cmp al,’z’

ja stop

sub al,20h

mov dl,al

mov ah,2

int 21h

jmp abc

stop: ret

2. 编写程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示“MATCH”,若不同则显示“NO MATCH”。

答案:

datarea segment

string1 db ‘asfioa’

string2 db ‘xcviyoaf’

mess1 db ‘MATCH’,’$’

mess2 db ‘NO MA TCH’,’$’

datarea ends

prognam segment

main proc far

assume cs:prognam,ds:datarea

start:

push d s

sub ax,ax

push a x

mov ax,datarea

mov ds,ax

mov es,ax

begin:

mov cx, string2-string1

mov bx, mess1-string2

cmp bx,cx

jnz dispno

lea dx,addr

lea si,string1

lea di,string2

repe cmpsb

jne dispno

mov ah,9

lea dx,mess1

int 21h

ret

dispno:

mov ah, 9

lea dx, mess2

int 21h

ret

main endp

prognam ends

end start

3. 试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:

(1)如果3个数都不相等则显示0;

(2)如果3个数中有2个数相等则显示2;

(3)如果3个数都相等则显示3。

答案:

data segment

array dw 3 dup(?)

data ends

code segment

main proc far

assume cs:code,ds:data

start:

push d s

sub ax,ax

push a x

mov ax,data

mov ds,ax

mov cx,3

lea si,array

begin:

push cx

mov cl,4

mov di,4

mov dl, ‘ ‘

mov ah,02

int 21h

mov dx,0

input:

mov ah,01

int 21h

and al,0fh

shl dx,cl

or dl,al

dec di

jne input

mov [si],dx

add si,2

pop cx

loop begin

comp:

lea si,array

mov dl,0

mov ax,[si]

mov bx,[si+2]

cmp ax,bx

jne next1

add dl,2

next1:

cmp [si+4],ax

jne next2

add dx,2

next2:

cmp [si+4],bx

jne num

add dl,2

num:

cmp dx,3

jl disp

mov dl,3

disp:

mov ah,2

add dl,30h

int 21h

ret

main endp

code ends

end start

4. 已知整数变量A和B,试编写完成下述操作的程序:

(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中;

(2)若两个数均为奇数,则两数分别加1,并存回原变量;

(3)若两个数均为偶数,则两变量不变。

答案:

dseg segment

a dw ?

b dw ?

dseg ends

cseg segment

mainproc far

assume cs:cseg,ds:dseg

start:push ds

sub ax,ax

push ax

mov ax,dseg

mov ds,ax

begin: mov ax,a

mov bx,b

xor ax,bx

test ax,0001

jz class

test bx,0001

jz exit

xchg b x,a

mov b,bx

jmp exit

class: test bx,0001

jz exit

inc b

inc a

exit: ret

mainendp

cseg ends

end start

5. 把0~10010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1)。

答案:

dseg segment

grade dw 30 dup(?)

rank dw 30 dup(?)

dseg ends

cseg segment

mainproc far

assume cs:cseg, ds:dseg, es:dseg

start:push ds

sub ax,ax

push ax

mov ax,dseg

mov ds,ax

mov es,ax

begin: mov di,0

mov cx,30

loop1: push cx

mov cx,30

mov si,0

mov ax,grade[di]

mov dx,0

loop2: cmp grade[si],ax

jbe go_on

inc dx

go_on: add si,2

loop loop2

pop cx

inc dx

mov rank[di],dx

sdd di,2

loop loop1

ret

mainendp

cseg ends

end start

6. 分析下列程序的功能,写出堆栈最满时各单元的地址及内容。

SSEG SEGMENT ‘STACK’AT 1000H ; 堆栈的段地址为1000H DW 128 DUP(?)

TOS LABEL WORD

SSEG ENDS

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

DSEG SEGMENT

DW 32 DUP(?)

DSEG ENDS

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

CSEG SEGMENT

MAIN PROC FAR

ASSUME CS:CSEG, DS:DSEG,SS:SSEG

START: MOV AX,SSEG

MOV SS,AX

MOV AX,DSEG

MOV DS,AX

MOV AX,4321H

CALL HTOA

RETN: MOV AH,4CH

INT 21H

MAIN ENDP

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HTOA PROC NEAR

CMP AX,15

JLE B1

PUSH AX

PUSH BP

MOV BP,SP

MOV BX,[BP+2]

AND BX,0FH

MOV [BP+2],BX

POP BP

MOV CL,4

SHR AX,CL

CALL HTOA

B1: POP AX

B2: ADD AL,30H

JL PRT

ADD AL,07

PRT: MOV DL,AL

MOV AH,2

INT 21H

RET

HTOA ENDP

CSEG ENDS

; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

END START

答案:

1000:0F2H

1000:0F4H

1000:0F6H

1000:0F8H

1000:0FAH

1000:0FCH

1000:0FEH

1000:100H

7.

(1) INT 12H (2) INT 8

答案:

(1) 00048h

(2) 00020h

8. 试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。

答案:

mov si, 0

mov di, 0

test12: in al, 0024h

test al, 08

jnz exit

in al,0036h

test al, 08

jnz exit

dev1: in al, 0024h

test al, 01

jz dev2

in al, 0026h

mov buffer[si], al

inc si

dev2: in al, 0036h

test al, 01

jz test12

in al, 0038h

mov buff2[di],al

inc di

jmp test12

exit: ret

9.给定(SP)=0100,(SS)=0300,(FLAGS)=0240,存储单元的内容为(00020)=0040,

(00022)=0100,在段地址为0900及偏移地址为00A0的单元中有一条中断指令INT 8,试问执行INT 8指令后,SP,SS,IP,FLAGS的内容是什么?栈顶的三个字是什么?答案:

(SP) = 00FA

(SS) = 0300

(IP) = 0040

(FLAGS) = 0040

堆栈内容

10. 10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。加密表为;

输入数字: 0,1,2,3,4,5,6,7,8,9

密码数字: 7,5,9,1,3,6,8,0,2,4

答案:

scode db 7,5,9,1,3,6,8,0,2,4

buffer db 10 dup(?)

; ……

mov si,0

mov cx,10

lea bx,scode

input: mov ah,01

int 21h

cmp al,0ah

jz exit

and al,0fh

xlat

mov buffer[si],al

inc si

loop input

exit: ret

第6章习题解答

1、什么是中断向量表?已知中断类型码分别是84H和FAH,它们的中断向量应放在中断向量表的什么位置?

答:中断向量表是内存中00000H-003FFH 地址范围内连续存放各类中断的中断向量(中断服务程序的入口地址)的一个存储区域。

某中断的中断类型码n 与它的中断向量在中断向量表中的位置有4n的关系,故:中断类型码是84H的中断,4n=210H,其中断向量在中断向量表的0000:0210H-0000:0213这四个字节单元中。

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与接口技术(第二版)习题答案

第1章 1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 解: 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微 处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了 微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。 1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解: CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。 1.3微型计算机采用总线结构有什么优点? 解: 采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准化,易于兼容和工业化生产。 1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用 一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 解: 数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。 8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为 地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。 1.8在给定的模型中,写出用累加器的办法实现15×15的程序。 DEC H JP NZ,LOOP HALT

第2章作业答案 2.1 IA-32结构微处理器直至Pentillm4,有哪几种? 解: 80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。 2.6IA-32结构微处理器有哪几种操作模式? 解: IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操作模式确定哪些指令和结构特性是可以访问的。 2.8IA-32结构微处理器的地址空间如何形成? 解: 由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。 2.15 8086微处理器的总线接口部件由哪几部分组成? 解: 8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传 送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执 行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。 2.16段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为 多少? 解: 指令的物理地址=12000H+FFOOH=21FOOH 第3章作业答案 3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI, 30O (2)MOV CX, DATA[DI] (3)ADD AX, [BX][SI] (4)AND AX, CX (5)MOV[BP], AX (6)PUSHF 解: (l)源操作数为立即寻址,目的操作数为寄存器寻址。

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机原理与接口技术 试题与答案

微机原理与接口技术试题 微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O 访问,当CPU执行IN AL,DX指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。

A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( 2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是( 2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF

(完整版)微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理与接口技术习题答案5章(供参考)

第5章 总线及其形成 1. 微处理器的外部结构表现为 数量有限的输入输出引脚 ,它们构成了微处理器级总线。 2. 微处理器级总线经过形成电路之后形成了 系统级总线 。 3. 简述总线的定义及在计算机系统中采用标准化总线的优点。 答:总线是计算机系统中模块(或子系统)之间传输数据、地址和控制信号的公共通道, 它是一组公用导线,是计算机系统的重要组成部分。 采用标准化总线的优点是: 1) 简化软、硬件设计。 2) 简化系统结构。 3) 易于系统扩展。 4) 便于系统更新。 5) 便于调试和维修。 4. 在微型计算机应用系统中,按功能层次可以把总线分成哪几类。 答:在微型计算机应用系统中,按功能层次可以把总线分成:片内总线、元件级总线、 系统总线和通信总线。 5. 简述RESET 信号的有效形式和系统复位后的启动地址。 答:RESET 为系统复位信号,高电平有效,其有效信号至少要保持四个时钟周期,且复 位信号上升沿要与CLK 下降沿同步。 系统复位后的启动地址为0FFFF0H 。即:(CS )=0FFFFH ,(IP )=0000H 。 6. 8086 CPU 的IO M/信号在访问存储器时为 高 电平,访问I/O 端口时为 低 电平。 7. 在8086系统总线结构中,为什么要有地址锁存器? 答:8086CPU 有20条地址线和16条数据线,为了减少引脚,采用了分时复用,共占了 20条引脚。这20条引脚在总线周期的T1状态输出地址。为了使地址信息在总线周期的其 他T 状态仍保持有效,总线控制逻辑必须有一个地址锁存器,把T1状态输出的20位地址信 息进行锁存。 8. 根据传送信息的种类不同,系统总线分为 数据总线 、 地址总线 和 控制总线 。 9. 三态逻辑电路输出信号的三个状态是 高电平 、 低电平 和 高阻态 。 10. 在8086的基本读总线周期中,在1T 状态开始输出有效的ALE 信号;在2T 状态开始输出

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题2分,共10分) 1. 寄存器ECX勺低16位部分可以用 ____________ 达。 A EX B CX C CH D CL 2. 8086处理器执行“ OUT DX,AL指令时,AL的数据出现在_____________ 输出给外设。 A控制总线B地址总线C电源和地线D 数据总线 3. 与DRAM目比,SRAM勺特点是___________ 。 A集成度高、存取周期长B集成度低、存取周期长 C集成度高、存取周期短D集成度低、存取周期短 4. 使用语句“ var dword 3721 ”定义的变量var在主存占用___________ 字节存储空间。 A 1 B 2 C 4 D 8 5. 用8K>8结构SRAM芯片构成64000H H6FFFFH地址范围的存储器,需要使用__________ 。 A 4 B 6 C 8 D 10 二、对错判断题(每小题2分,共10分)(说明:正确的选“ A ,错误选“ B” 6. IA-32 处理器设置的中断标志IF = 0是关中断,表示禁止内部中断和外部中断的所有中断请求。X

7. 已知var是一个变量,语句“ add esi,byte ptr var ”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V 9. 高性能计算机中常使用Cache (高速缓冲存储器)提高主存性能。V 10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V 第二部分主观题 一、填空题(每空2分,共10分) 1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO*,—RD* __________ 和____ /R* ______ 。 2. 逻辑地址由—段基地址_________ 口偏移地址两部分组成。代码段中下一条要执行的指令由CS和 _____ 指针IP ____ 寄存器指示,后者在实地址模型中起作用 的仅有_____ 指针 ____ 寄存器部分。 二、问答题(每小题6分,共30分) 1. 什么是JMP指令的近(near)转移和远(far )转移? jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr标号 jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号 2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性? 程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

《微机原理与接口技术》习题解答5

习题5 5.1 什么叫总线?总线如何进行分类?各类总线的特点和应用场合是什么? 【解答】总线是指计算机中多个部件之间公用的一组连线,由它构成系统插件间、插件的芯片间或系统间的标准信息通路。 (1)微处理器芯片总线:元件级总线,是在构成一块CPU插件或用微处理机芯片组成一个很小系统时常用的总线,常用于CPU芯片、存储器芯片、I/O接口芯片等之间的信息传送。 (2)内总线:板极总线或系统总线,是微型计算机系统内连接各插件板的总线,用以实现微机系统与各种扩展插件板之间的相互连接,是微机系统所特有的总线,一般用于模板之间的连接。在微型计算机系统中,系统总线是主板上微处理器和外部设备之间进行通讯时所采用的数据通道。 (3)外部总线:通信总线,主要用于微机系统与微机系统之间或微机与外部设备、仪器仪表之间的通信,常用于设备级的互连。数据可以并行传输,也可以串行传输,数据传输速率低。 5.2 什么叫总线的裁决?总线分配的优先级技术有哪些?各自的特点是什么? 【解答】当总线上的某个部件要与另一个部件进行通信时,首先应该发出请求信号,有时会发生同一时刻总线上有多个请求信号的情况,就要根据一定的原则来确定占用总线的先后次序,这就是总线裁决。 (1)并联优先权判别法 通过优先权裁决电路进行优先级别判断,每个部件一旦获得总线使用权后应立即发出一个“总线忙”的信号,表明总线正在被使用。当传送结束后释放总线。 (2)串联优先级判别法 采用链式结构,把共享总线的各个部件按规定的优先级别链接在链路的不同位置上,位置越前面的部件,优先级别越高。 (3)循环优先权判别法 类似于并联优先权判别法,只是动态分配优先权,原来的优先权编码器由一个更为复杂的电路代替,该电路把占用总线的优先权在发出总线请求的那些部件之间循环移动,从而使每个总线部件使用总线的机会相同。 5.3 总线数据的传送方式有哪些?各自有何特点? 【解答】 (1)串行传送方式 只使用一条传输线,在传输线上按顺序传送信息的所有二进制位的脉冲信号,每次一位。适于长距离传输。 (2)并行传送方式 信息由多少个二进制位组成,机器就需要有多少条传输线,从而让二进制信息在不同的线上同时进行传送。 (3)并串行传送方式 是并行传送方式与串行传送方式的结合。传送信息时,如果一个数据字由两个字节组成,那么传送一个字节时采用并行方式,而字节之间采用串行方式。

微机原理与接口技术第五章课后答案

第五章参考答案 1.简述SRAM芯片与DRAM芯片的共同点与不同点。 答:SRAM与DRAM的共同点:都属于随机存取存储器,具有易失性。 SRAM与DRAM的共同点:SRAM利用双稳态触发器电路保存信息,集成度比DRAM低,功耗比DRAM大;DRAM利用MOS管栅极和源极之间的极间电容C保存信息,需要刷新电路保证信息较长时间保存。 2.叙述ROM芯片的常见分类,各种ROM芯片的特点及其适用场合。 答:ROM的常用分类结果: 掩膜ROM:生产完成的芯片已保存了信息,保存的信息无法修改,适用于大批量的定型产品中。 PROM:PROM可以一次写入信息,一旦写入无法更改,适用于小批量的定型产品中。 EPROM:紫外线擦除可多次编程的存储器,适用于新产品的开发。 EEPROM:电擦除可多次编程的存储器,适用于需要在线修改的场合。 3.利用4片6116(2K×8位)芯片设计连续存储器,采用全地址译码。设起始地址为60000H,求存储器的最后一个单元地址。 答:存储器的最后一个单元地址为:61FFFH. 4.用6264 RAM(8K×8位)芯片构成256K字节存储器系统,需要多少片6264芯片20位地址总线中有多少位参与片内寻址有多少位可用作片选控制信号 答:需要32片6264芯片。 20位地址总线中有13位参与片内寻址;有7位可用作片选控制信号。 5.某微机系统中ROM区有首地址为9000H,末地址为FFFFH,求其ROM区域的存储容量。答:其ROM区域的存储容量为28K。 6.在8088CPU的系统中扩展32K字节的RAM,其扩充存储空间的起始地址为08000H。设系统的地址总线为A19~A0,数据总线为D7~D0,存储器芯片选用6264。利用74LS138译码器设计译码电路,并画出扩充的存储器系统的连线图。 解: 8088 BUS D0~D7 MEMW MEMR

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》习题参考答案 习题2 1.为何说8086CPU是16位CPU? 答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用? 答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3.8086CPU中8位寄存器和16位寄存器是什么关系? 答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。 4.8086CPU中的IP寄存器有何用途? 答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是 什么? 答:有CF、PF、AF、ZF、SF、OF。它们的含义如下: CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。 PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。 AF:辅助进位标志。在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。 ZF:零标志。运算结果为零时ZF=1,否则ZF=0。 SF:符号标志。它记录运算结果的最高位,即由符号数的符号。 OF:溢出标志。在运算过程中,如果运算结果已经超出了机器能表示的数值范围(指有符号数)称为溢出,此时OF=1,否则OF=0。 6.分别完成下面的8位运算,并说明各主要标志位的状态,以及结果是否产生溢出(提 示:需要分为有符号数和无符号数两种情况)。

微机原理与接口技术第五章-练习题及答案

第五章练习题及答案 一、填空题 1、常见的片选控制方法有____________________________________。线选法,全译码法,部分译码法 2、磁带是______存储器。顺序存储 3、为保证动态RAM中的内容的不消失,需要进行__________操作。刷新 4、全部存储系统分为四级,即寄存器组,____________,内存,外存。高速缓冲存储器 5、DRAM靠_______存储信息,所以需要定期_____。电容刷新 6、虚拟存储器由__________两级存储器组成。主存-辅存 7、存储器是计算机系统的记忆设备,它主要用来______。存储数据和指令 8、8086CPU的物理地址是指实际的20位主存单元地址,每个存储单元对应唯一的物理地址,其范围是_________________。00000H~FFFFFH 二、选择题 1、RAM是随机存储器,它分为( )两种。 A、ROM和SRAM B、DRAM和SRAM C、ROM和DRAM D、ROM和CD-ROM B 2、从存储器中读出或向存储器中写入一个信息所需要的时间称为( )。 A、等待时间 B、存取周期 C、查找时间 D、寄存器 B 3、在计算机的专业用语中,ROM表示( )。 A、外存储器 B、内存储器 C、只读存储器 D、随机存储器 C 4、在下列存储器中,若按记录密度从低到高的顺序播列,应为( )。 A、软盘、硬盘、光盘、磁带 B、磁带、硬盘、软盘、光盘 C、磁带、软盎、硬盘、光盘 D、硬盘、软盘、磁带、光盘 C 5、某计算机字长32位,存储容量为4MB,若按半字编址,它的寻址范围是()。 A、0-4MB B、0-2MB C、0-2M D、0-1MB C 6、下列因素中,与Cache命中率无关的是()。 A、主存的存取时间 B、快的大小 C、Cache的组织方式 D、cache 的容量 A 7、计算机的存储器采用分级存储体系的主要目的是()。 A、便于读写数据 B、减小机箱的体积 C、便于系统升级 D、解决存储容量、价格和存取速度之间的矛盾 D 8、磁盘存储器的数据存取速度与下列哪一组性能参数有关?( )。 A、平均等待时间,磁盘旋转速度,数据传输速串 B、平均寻道时间,平均等待时间,数据传输速串 C、数据传输速率,磁盘存储密度,平均等待时间 D、磁盘存储器容量,数据传输速率,平均等持时间 B

微机原理与接口技术考试复习题(有答案)

《微型计算机原理及接口技术》试题 (120分钟) 一. 单项选择题(在每小题的四个备选答案中选出一个正确的 1. 8086CPU芯片的外部引线中,数据线的条数为()。 A.6条 B.8条 C.16条 D.20条 2.8086CPU工作在总线请求方式时,会让出()。 A.地址总线 B.数据总线 C.地址和数据总线 D.地址、数据和控制总线 3.8086在执行OUT DX,AL指令时,AL寄存器的内容输出到()上。 A.地址总线 B.数据总线 C.存储器 D.寄存器 4.8086CPU的I/O地址空间为()字节。 A.64KB B.1MB C.256B D.1024B 5. 当8086CPU读I/O接口时,信号M/IO和DT/R的状态必须是()。 A.00 B.01 C.10 D.11 6. 在8088CPU中, 用于寄存器间接寻址输入输出指令的寄存器是()。 A. AX B. BX C. CX D. DX 7.两片8259A级联后可管理()级中断。 A.15 B.16 C.32 D.64 8.8086中断系统中优先级最低的的是()。 A.可屏蔽中断 B.不可屏蔽中断 C.单步中断 D.除法出错 9.CPU在执行IN AL,DX指令时,其()。 A. IO/M为高, RD为低 B. IO/M为高, WR为低 C. IO/M为低, RD为低 D. IO/M为低, WR为低 10. 内存从A4000H到CBFFFH,共有() A.124K B.160K C.180K D.224K 11. 8088CPU中的CS寄存器是一个多少位的寄存器?()。 A.8位 B.16位 C.24位 D.32位 12.地址译码器的输出一般可为接口的()信号。 A.片选 B.数据输入 C.地址 D.控制 13. 8255工作在方式0时,下面哪种说法正确() A. A、B、C三个口输入均有锁存能力 B. 只有A口输入有锁存能力 C. 只有C口输入有锁存能力 D. A、B、C三个口输入均无锁存能力 14. 实现DMA传送,需要() A.CPU通过执行指令来完成 B.CPU利用中断方式来完成 C.CPU利用查询方式来完成 D.不需要CPU参与即可完成 15.CPU在执行OUT DX,AL指令时,()寄存器的内容送到地址总线上。 A.AL B.DX C.AX D. DL 二、填空题 1. 分析与设计接口电路的基本方法有和。 2. DMA可以工作在状态和状态下,区分当前DMA工作在什么状态下。 3. 8086/8088的引脚用于决定其工作模式。 4.在译码过程中,如果有一根地址线没有用到,会有个重叠地址。 5.在总线上要完成一次数据传输一般要经历如下阶段:、 、和。 6. 8255A是芯片,有种工作方式; 7. 8253是芯片,内部有个端口地址,其中的每个计数器可作为进制和进制计数器使用。 8.从8253计数器中读出的计数值读出的减一计数器当前值。(是、不是) 9.串行通信包括和两种方式。 10. 158的16位二进制补码为,原码为,反码为。 11.-20的8位二进制补码为,原码为,反码为。 12.操作数寻址方式主要有、、和 4类。 13.中断过程包括、、和 4个阶段。 14. I/O端口地址的编制方式是和。 三.简答题 1.微型计算机接口一般应具有哪些功能? 2.8086有哪两种工作模式?其主要区别是什么? 3.什么是中断、中断向量和中断向量表?

相关文档
最新文档