微机原理及应用习题与答案3

微机原理习题与答案

第一章微机基础

1-1微处理器、微机与微机系统三者之间有什么不同?

答: 微处理器一般也称为CPU,它本身具有运算能力和控制功能。微型计算机是由CPU、存储器、输入/输出接口电路和系统总线构成的裸机系统。微型计算机系统是以微型计算机为主机,配上系统软件和外设之后而构成的计算机系统。微处理器是微型计算机的一组成部分,而微型计算机又是微型计算机系统的一组成部分。

1-2 CPU在内部结构上由那几部分组成?

答:8位CPU在内部结构上由寄存器阵列、算术逻辑运算单元ALU、控制器和内部总线及缓冲器等部分组成。

1-3总线接口部件有哪些功能? 8086的执行部件有什么功能?

答:总线接口部件的功能是负责与存储器、I/O端口传送数据。

执行部件的功能是负责指令的执行。

1-4 8086/8088的状态标志和控制标志分别有哪些?

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

1-5 8086/8088和传统的8位计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?

答:8位饥是取一条指令,执行一条,再取,再执行;

8088执行时,取指与执行几乎是同时进行的。

1-6 8086/088微处理器中有哪些寄存器?通用寄存器中哪些可以作地址指针用?

答:8086/8088各有14个寄存器,它们可分为3组:

(1)四个通用寄存器和四个变址和指针寄存器,即AX,BX,CX,DX,SP,BP,SI,DI。

(2)四个段寄存器,即CS,DS,SS,ES。

(3)两个控制寄存器,即IP,FR。

1-7 8086/8088 20位物理地址是怎么样形成的?当CS=2000H,IP=0100H,其指向的物理地址等于多少?

答:物理地址=段地址×16+段内偏移地址。

20100

2-1 试述8088微处理器的各种寻址方式,并写出各种寻址方式的传送指令1~~2条(源操作数寻址与目的操作数寻址)

答:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,变址寻址,基址加变址寻址。

第三章汇编语言程序设计

3-2指令AND AX,X AND Y中X和Y是两个已赋值的常量,问:两个AND操作分别在什么时间进行?功能上有何区别?

答:指令中的X AND Y操作在程序汇编时进行,该操作完成后得到一个数,即为指令中的第二操作数。由此得到“AND AX,立即数”这样形式的一条指令,由汇编器将其翻译为机器码。该指令中的AND操作由CPU在执行指令时完成,结果存于AX中,并影响F

寄存器。

3-3指出以下三条指令的区别(NUM为数据段一个变量名)。

(1)MOV SI,NUM

(2)LEA S1,NUM

(3)MOV SI.OFFSET NUM

(1)内容送SI (2)把NUM的值送SI地址(3)把NUM的偏移地址送SI

答:(1)指令执行后SI取得酌是内存变量NUM的值。

(2)指令执行后SI取得的是内存变量NUM的偏移地址

(3)同(2)。

第五章输入与输出接口技术

5-1 数据信息有哪几类?CPU 和输人输出设备之间传送的信息有哪几类?相应的端口称为什么端口?

答:数据信息有:1数字量,2 模拟量,3 开关量

信息有:数据信息,状态信息和控制信息。其端口分为数据端口,状态口,控制端口。

5-2 计算机对I/O端口编址时通常采用哪两种方法?在8088/8086系统中采用哪种方法?在IMB PC系列微机中端口的地址范围多大?其中用户可用的地址范围是多少?

答:端口的编址通常有存储器映射方式和I/O映射方式。8086/8088系统采用的是I/O

映射方式。IBM PC系列微机端口地址取值范围是0~~3FFH,用到的地址线是A

9~A

。用

户可用地址必须大于等于200H,并且避开已占用或标明是保留的地址。

5-3 什么情况下两个端口可以用一个地址?

答:一个端口做输入,一个端口做输出时,这两个端口可共用一个地址。

5-4 CPU和外设之间的数据传送方式有哪几种?无条件传送方式通常用在哪些场合?

答:1.无条件传送

2.查询方式:每次输出输入数据前,要查询外设的状态,准备好了再传送。

3.中断方式:外设有传送要求时,就发送一个中断请求给CPU,请求处理,CPU 响应,就完成这一中断服务。它允许CPU与外设同时工作。

4.直接存储器存取方式(DMA)

由一个硬件控制,在外设和存储器之间进行数据交换。CPU让出总线。

5-5 相对于查询方式,中断方式有什么优点?和DMA方式比较,中断传输方式有什么不足之处?

答:中断方式可以使CPU与外设并行工作,所以比起查询方式,CPU的工作方式效率提高了。但中断方式仍然要由CPU通过指令来传送数据,对高速设备来说速度太慢了。DMA方式是在DMA控制器控制下进行数据传送,速度上限主要取决于存储器的存取速度,因此中断方式传输速度不及DMA方式。

5-6 设计一个外设端口地址译码器,使CPU能寻址四个地址范围:(1)240~~247H.(2)248—24FH,(3)250~~257H,(4)258~~25FH

答:由于要寻址四个地址范围,选用译码器芯片比选用门电路好,电路简洁。所以选用74LS138译码器。

5-8 DMA控制器的地址线为什么是双向的?什么时候这DMA控制器传送地址?什么时候DMA控制器往地址总线传送地址?

答:DMA控制器是一种总线控制器件,在DMA方式时,它替代CPU控制系统总线,完成外没与内存单元之间或者内存单元与内存单元之间的数据传送,所以它必须能向地址总

线发出地址。在DMA控制器接管总线之前,CPU必须时它进行初始化编程,以确定DMA 的工作方式、传送字节数、存储单元起始地址等等,为此CPU需要对DMAC内的寄存器寻址,写入内容DMAC也必须能接受地址信息。由于DMAC内有16个寄存器,所以它的低4位地址线是双向的。

5-9 对8253定时计数器三个通道进行初始化编程的顺序有没有要求?已知8253中0#、1#、2#计数器及控制寄存器地址分别为340H,342H,344H,346H,试对8253三个计数器进行编程使0#计数露设置为方式l,1#计数初值为2050H;计数器设置为方式2,计数初值为3000H,2#计数器设置为方式3,计数初值为1000。

解:一般在每个计数器独立使用时,对8253定时计数器三个通道进行初始化的顺序没有特定要求,如果几个计数器配合使用,则可能对三个通道初始化顾序会有一定要求。对每个计数器都应该先写人控制字然后再写初值。

本题8253四个地址均为偶数,这是系统地址总线的A2、A1分别连接8253的A1、A0所致。初始化编程如下:

MOV DX,346H

MOV AL,32H

OUT DX,AL

MOV AL,74H

OUT DX,AL

MOV AL,0B7H

OUT DX,AL

MOV DX,340H

MOV AL,50H

OUT DX,AL

MOV AL,20H

OUT DX,AL

ADD DX,2

MOV AL,00H

OUT DX,AL

MOV AL,30H

OUT DX,AL

ADD DX,2

MOV AL,00H

OUT DX,AL

MOV AL,10H

OUT DX,AL

5-10若要采用一片8253产生近似为1Hz的方波,已知时钟频率为2MHz,8253地址为350一353H.试编写8253初始化程序,并说明通道引脚的连接方法。

解:时钟频率为2MHz,要分频至1Hz,分频系数为2×10‘。一个8253的计数器分频系数最大为65536,所以必须用两个计数据串联起来工作。0#计数器分频系数定为104,1#计数器分频系数定为200。OUT。连接到CLK

,0#计数器输出的10000Hz波形作为1#计

1

数器的时钟信号,经1#计数器104分频后得到1Hz的波形。初始化程序如下;

MOV DX,353H

MOV AL,35H

OUT DX,AL

MOV AL,77H

OUT DX,AL

SUB DX,3

MOV AL,00H

OUT DX,AL

OUT DX,AL

INC DX

MOV AL,00H

OUT DX,AL

MOV AL,02H

OUT DX,AL

8253计数器级联时,应注意时常数装入时引起的计数误差。当用输出指令向8253某通道写入初值时,必须经过一个时钟上升沿和一个时钟下降沿之后,数值才装入计数寄存器,在此之前读出的计数器内容均无效。本题是产生周期波形,时常数写人的误差只在产生第一个周期时存在,对使用无影响。若计数器级联用作单次计数则必须注意初值装入引起的误差。它可以带来两个低位计数据溢出周期的误差,这在测量中往往是不能允许的。可以用软件的方法使OUT。变低,变高再变低,使在调量之前将初值装入计数寄存器中。向

0#计数器写入0方式控制字可以使OUT。变低,向0#计数器写2方式控制字可以使OUT。变高,这样人为地制造一个时钟上升沿,一个时钟下降沿使初值装入高位计数寄存器。

5-11当数据从8255A的端口C住数据总线上读出时。8255A的引脚CS、A1、A0、RD、WR分别是什么电平?

5-12对8255A设置工作方式,其控制口地址为243H。要求端口A工作在方式1,输入:

B口工作在方式1,输出:PC

7和PC

6

基本输出用。

答:数据从8255A的端口C读入CPU时,8255A的引脚CS应为低电平,这样才能选中

8255A芯片;A

1、A。应为10,即A

1

为高电平,A。为低电平,这样才选中C口;RD应

出现低电子(脉冲),数据读人CPU;WR为高电平,处于无效状态。

5-13若用一片8255A作为题5-7的接口芯片.对题5—7的程序和电路应作何修改? 解:MOV DX,243H

MOV AL,084H

OUT DX,AL

5-148255A的方式。一般使用在什么场合?在方式0时,如果要使用应答信号进行联络,应该怎么办?

答:方式0一般用在无条件传送的场合,也可用于查询式传送。

在方式0时。应答信号可以选用PC口的线做联络线。一般将PC口的上半部和下半部

分为两部分,一部分的线做输出,一个部分的线做输入。

5-158255A的方式控制字和C口置1/置0控制字都是写入控制端口的.它们是怎样区分的?在5—14题中,若允许A口中断,禁止B口中断,试写出相应的控制字。答:对最高位进行测试,如果为1,则为方式控制字。为0则为对C口的操作。

第六章中断技术

6-1 什么叫中断?简述一个中断的全过程。

答:外设向CPU发出的中断请求,处理外设的文件。CPU暂停当前的主程序。一个中断的全过程:(1)中断请求(2)中断响应(3)中断处理

6-2 确定中断的优先级(权)有哪两种方法?各有什么优缺点?IBM PC系列微机中断判忧用的是什么方法?

答:确定中断的优先级有软件查询和硬件排队两种方法。硬件排队方法中常用的是矢量中断方法。

软件查询方法所需电路比较简单:一是要把外设的中断请求触发器组合成一个端口供CPU查询,二是要将各外设的中断请求信号相或后作为CPU的中断请求信号送INTR引脚。在外设数量较多时.这位查询转人中断服务所耗费的时间较长。

硬件优先权排队方法电路较复杂,要求外没不仅发出中断请求信号,而且还需提供设备的中断矢量(也称中断类型号),该矢量与中断服务程序地址有关,CPU接收该矢量后可以转入中断服务程序。这种方法中断响应速度快。IBM PC系列微机中断判优采用的矢量中断方法。

6-3 8088/8086的中断分哪两大类?什么是中断向量?什么是中断向量表?8088/8086总共有多少级中断?它们的中断类型号是多少?中断向量表设在存储区的什么位置?

答:分为硬中断和软中断。

中断向量指的是中断服务程序的入口地址。

中断向量表指所有中断服务程序入口地址的总和。放在存储器的某一区域。总共有256级。类型号0~255。在RAM区的起始段0000H~003FH的1K之内。

6-4 什么是非屏蔽中断?什么是可屏蔽中断?它们得到CPU响应的条件是什么?

答:NMI:不能被CPU指令禁止,一旦出现这种请求,CPU立即响应。在CPU的17号脚上有一个由低到高的上跳边触发信号输入。

INTR:可屏蔽请求。18号引脚上有一个“高”有效信号输入。CPU发中断响应INTA。

6-5 8088/8086CPU怎样得到中断服务程序地址?请分别对软件中断和硬件中断加以说明。

答:8088/8086CPU首先要得到中断类型号(矢量)n,然后通过中断矢量表得到中断服务程序入口地址。软件中断(包括系统定义的。0~~4号中断)。CPU从指令INT n中得到n。非屏蔽中断,CPU自动产生中断类型号2。可屏蔽中断,CPU在满足响应条件时响应中断,进

入两个连续的中断响应周期,中断控制器8259A在第二个中断响应周朗的T

状态前将优先

3

状态的前沿读数据总线权最高的外设的中断矢量(类型号)输至CPU的数据总线.CPU在T

4

获取中断类型号。CPU将n乘以4,在中断矢量表中n乘以4所指地址起的连续四单元中,CPU得到中断服务程序的入口地址,n*4字单元中的是偏移地址,n*4+2字单元中是段地址。6-6 在编写程序时,为什么通常总要用开放中断指令来设置中断允许标志?8259A的中断屏蔽寄存器IMR 和8088/8086的中断允许标志IF有什么差别?在中断响应过程中,它们怎样配合起来工作?

答,在PC系列微机中非屏蔽中断被系统占用了,在系统总线引出的IRQ

i

是可屏蔽中断请求输人线(实际为8259A的引脚)。PC机上电时,系统复位,将F寄存器清零,使IF=0,禁止中断。因为可屏蔽中断得以响应的必要条件之一是IF=1,所以编程时通常要用STI指令使IF=1(即开中断),允许可屏蔽中断发生。

8088/8086的IF标志是中断允许标志,当IF=l时,CPU可以响应可屏蔽中断的请求,当IF=0时,CPU不予响应。当中断控制器8259A内的中断屏蔽寄存器IMR的某位为1时,

与之对应的外没的中断请求被禁止。这时若外没有请求送至8259的IR

i

端(即系统总线的

IRQ

i

端),8259A不向CPU的INTR引脚送中断请求信号。而当IMR的某位为0时.与之对应的外设的中断请求才可能经8259A的INT引脚向CPU的INTR端发送中断请求信号,如果此时IF=1,则CPU才有可能响应该中断请求。适当地写入IMR内容可以有选择地允许或禁止某级中断。特别是当8259A工作于特殊屏蔽方式时.使用IMR可以动态地改变系统的优先权结构,可以允许同级的(同一从片的)或较低优先权的中断级产生中断。

6-7 IBMPC/XT 和PC/AT微机分别留给用户哪几个中断请求输入端,它们分别对应什么芯片的什么引脚,它们之间的优先级顺序如何?相应的中断类型号是多少?

答:IBM PC/XT机在系统总线插槽中留给用户IRQ

2-IRQ

7

,共六个中断请求输入端。它

们对应8259A芯片的IR

2一IR

7

。IR。和IR

1

检系统板占用。这8个中断优先级顺序是IRQ。

最高,IRQ

7最低,相应的中断类型号是08~0FH。IRQ

3

~~IRQ

7

分别分配给串行口2、中行

口1、硬盘、软盘和并行打印机,用户一般只可用IRQ

2

IBM PC/AT在系统总线插槽中留给用户IRQ

5~~IRQ

7

、IRQ

9

~~IRQ

12

以及

IRQ

14~~IRQ

15

共11个中断请求输入湍。它们分别对应主片8259A的IR

3

~~IR

7

从片8259A

的IR

1~~IR

4

以及IR

6

—IR

7

。IRQ。、IRQ

1

、IRQ

8

和IRQ

13

系统占用,IRQ

2

作为主从8259A

级连用,这五个输人端末引至系统总线。IRQ

3~~IRQ

7

分别留作串行口2、串行口1、并行

口2、软盘控制器和并行口1用,IRQ

14

留作硬盘控制器用,所以AT机用户实际可用

IRQ

9~~IRQ

12

以及IRQ

15

。优先先权序

如下:IRQ。、IRQ

1、IRQ

8

~IRQ

15

,IRQ

3

~IRQ

7

。主片8259A对应的IRQ。~~IRQ

7

的中

断类型号是08-0FH(其中IRQ

2用于级连),从片8259A对应的IRQ

8

-IRQ

15

的中断类型导是

70~~77H。

6-8 简述8259A的主要功能。PC/XT机中的8259A地址是多少?PC/AT机中主8295A 和从8259A的地址分别是多少?

答:8259A可编程中断控制器能够管理输入到CPU的中断请求,实现优先权判决,提供中断矢量(即中断类型号)和屏蔽中断等功能。它能直接管理8级中断,如果采用级联方式,则不用附加外部电路就能管理64级中断输入。它有多种工作方式,能适应各种系统的要求。PC/XT机中使用一片8259A,其地址是20~21H。PC/AT机中使用两片8259A(有的与其他外围芯片一起集成在一片大规模集成电路中,芯片名称也改了)。主8259A地址20~2IH,从8259A地处为0A0~0AlH。

6-9 对8259A的编程有哪两类?它们分别在什么时埃进行?

答:对8259A的编程有初始化编程和操作方式编程两类。初始化编程.即对8259A在进入操作前写入初始化命令字ICW(2至4个),是微机上电时由BIOS(基本输入输出系统)完成的。操作方式编程是在初始化编程之后,8259A进人工作状态时由用户写入的,写入不同的控制

字OCW

i

(z=1~3)可使8259A按不同的方式操作。

6-10 有关优先级,8259A有哪几种操作方式?其含义是什么?

答:有关优先级,8259A有四种操作方式。

(1)全嵌套方式,这是默认的一种方式。该方式有固定的优先级顺序;0级(IR

)优先权

最高,7级(IR

7

)优先权最低。正常嵌套方式:正在处理的中断服务程序可以被高级的中断

所打断,转入高级中断源的中断服务程序,高级中断处理结束后再回到被打断的中断服务程序,继续处理。

(2)优先级自动循环方式。当OCW

2

的RSL EO1=100时设置为该方式。初始的最低优

先级是IR

7。最高优先级是IR

。当一个设备得到中断服务后,其优先级自动降为最低。例

如IR

5得到服务后,优先级顺序变为IR

5

最低,IR

6

最高。即6、7、0、1……5的顺序。一

般在系统内部存在着相同优先权的中断设备时采用该方式。

(3)优先级特殊循环方式。当OCW

2

中的RSL EO1=110时设置为该方式。该方式与优

先级自动循环方式仅有一点不同,它的最初的最低级