《微机原理及应用》期末自测题答案版DOC.docx

上传人:b****7 文档编号:9588552 上传时间:2023-02-05 格式:DOCX 页数:24 大小:25.88KB
下载 相关 举报
《微机原理及应用》期末自测题答案版DOC.docx_第1页
第1页 / 共24页
《微机原理及应用》期末自测题答案版DOC.docx_第2页
第2页 / 共24页
《微机原理及应用》期末自测题答案版DOC.docx_第3页
第3页 / 共24页
《微机原理及应用》期末自测题答案版DOC.docx_第4页
第4页 / 共24页
《微机原理及应用》期末自测题答案版DOC.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

《微机原理及应用》期末自测题答案版DOC.docx

《《微机原理及应用》期末自测题答案版DOC.docx》由会员分享,可在线阅读,更多相关《《微机原理及应用》期末自测题答案版DOC.docx(24页珍藏版)》请在冰豆网上搜索。

《微机原理及应用》期末自测题答案版DOC.docx

《微机原理及应用》期末自测题答案版DOC

《微机原理及应用》期末自测题

一、基本概念与术语

1、8086是(16)位计算机。

8086地址线有(20)条,可直接寻址的空间最大为(1M)。

2、总线周期是指(进行一次总线操作的时间)。

基本总线周期有(4)T状态。

Tw状态是指(等待周期)。

3、8086CPU允许的I/O地址线最多可达(16)条,最大寻址I/O空间为(64K)。

4、8086CPU由(总线接口部件BIU,执行部件EU)两部分组成,其功能为(总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。

执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。

)。

其中8086CPU中标志寄存器的作用是(记录指令运行的状态标志和控制标志),指令队列的作用是(完成指令的获取和排队),20位地址加法器的作用是(将执行单元提供的16位非重定位地址重定位为20位的存储器物理地址,用于存储器接口访问总线上实际的物理存储器)。

代码段物理地址由CPU的(CS,IP)两个寄存器确定。

堆栈段物理地址由CPU的(SS,SP)两个寄存器确定。

5、8086中断源有(系统外部中断,内部中断两)个。

8086中断服务程序入口地址由(中断向量表)组成。

中断类型号为20H,其中断向量为(80H)。

6、I/O指令IN/OUT,传送数据的寄存器为(AL,AX),间接寻址时使用寄存器(DX),其中

INAL,DX的含义是(将DX中的数据写入到AL中)。

OUT60H,AL的含义是(将AL读出到地址为60H的端口中)。

7、一片8259A可以管理(8)级中断;3片8259A可以管理(16)级中断。

8、硬件中断是(外部引发,随机的,执行总线周期,中断类型码由中断控制器提供),软件中断是(内部引发,确定的,不执行总线周期,中断类型确定)软件中断优先级与硬件中断优先级相比,(软件中断)的级别高。

9、在中断服务程序结束前,为正确返回,必须设置一条指令(IRET)。

在子程序调用结束前,为正确返回,必须设置一条指令(RET)。

10、若中断控制器8259的中断请求寄存器IRR状态为10100000B,说明(IR5,IR7引脚上有中断请求)。

ISR状态为10100000B说明(出现了中断嵌套)。

11、可编程定时器8253的地址有(16)个。

共有(3)独立定时通道。

工作方式有(6)个。

12、并行接口8255有(4)个数据端口,有(3)种工作方式。

13、假设8253的端口地址为40H~43H,那么控制端口地址为(43H),通道0、1、2的端口地址为(40H,41H,42H)。

14、假设8255的端口地址为330H~333H,那么控制端口地址为(333H),端口A、B、C的地址为(330H,331H,332H)

15、定时器8253的门控信号GATE作用是(门控输入端,用于外部控制计数器的启动或停止计数的操作),CLK端的作用是(计数器的时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号),OUT端作用是(定时器的输出端)。

16、初始化定时器8253需要先写(控制字),后写(定时初值)。

17、伪指令的作用是(指出汇编程序应如何对源程序进行汇编,如何定义变量,分配存储单元,以及指示程序的开始和结束),(不)产生机器代码。

二、简单应用与简答题

1、简述微型计算机的组成。

微型计算机是由微处理器、存储器、输入/输出接口电路和系统总线构成的裸机系统。

2、总线分为哪几种类型?

微型计算机采用总线结构有什么优点?

分为地址总线,数据总线与控制总线三类,又称三总线。

微型计算机的三总线结构是一个独特的结构。

采用总线结构,系统中各功能部件之间的相互关系,变成了各功能部件面向总线的单一关系。

一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩展。

3、8086CPU在内部结构上由哪几部分组成?

其功能是什么?

8086的内部结构分成两部分。

总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。

执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。

4、8086的总线接口部件由那几部分组成?

其功能是什么?

8086的总线接口部件主要由下面几部分组成:

4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。

5、8086的执行单元(部件)由那几部分组成?

有什么功能?

8086的执行单元部件主要由下面几部分组成:

控制器、算数逻辑单元、标志寄存器、通用寄存器组。

(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。

(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。

(3)标志寄存器,使用9位,标志分两类。

其中状态标志6位,存放算数逻辑单元ALU运算结果特征;控制标志3位,控制8086的3种特定操作。

(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。

6、简述8086CPU的流水线思想,与传统计算机有何不同。

在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。

传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。

7、8086和8088是怎样解决地址线和数据线的复用问题的?

ALE信号何时处于有效电平?

8086/8088采用时间分隔技术与地址锁存技术,通过地址锁存允许信号ALE锁存CPU送出的地址,有效解决地址线和数据线的复用问题。

ALE在T1状态有效,将CPU送出的20位地址锁存。

8、计算机对I/O端口编址时通常采用哪两种方法?

在8086/8088系统中,用哪种方法对I/O端口进行编址?

对端口编址的两种方法。

计算机对内存和I/O端口统一编址;计算机对内存和I/O端口分别进行编址。

在8086/8088系统中用计算机对内存和I/O端口独立编址。

9、一般的IO接口电路安排有哪三类寄存器?

它们各自的作用是什么?

(1)安排数据寄存器、状态寄存器、控制寄存器。

(2)数据寄存器:

存放CPU与外设之间传送的数据信息。

状态寄存器:

存放当前外设所处的工作状态。

控制寄存器:

存放CPU通过接口向外设传送控制信息。

10简述CPU与外设进行数据交换的几种常用方式与特点。

CPU与外设之间的数据传输有以下三种方式:

程序方式、中断方式、DMA方式。

(1)程序方式又分为无条件传送方式和条件传送方式两种方式,接口简单。

无条件传送方式用于简单外设,如LED显示器。

条件传送方式用于外设较少、需要联络信号的情形。

(2)中断传送方式需要专门的中断控制电路。

CPU利用率高,速度快,用于外设较多的实时系统。

(3)DMA方式需要专用硬件电路。

外设直接和存储器进行数据传送,效率高,适合大量、快速数据传送,例如硬盘读写等。

11、简述条件传送方式的工作过程,主要适用的场合。

条件传送数据有三个环节:

(1)CPU从接口中读取状态字。

(2)CPU检测状态字的对应位是否满足“就绪”条件,如不满足,则回到前一步读取状态字。

(3)如状态字表明外设已处于就绪状态,则传送数据。

主要用于需要联络信号(如选通信号)的外设较少的系统。

12、8086CPU响应中断的条件?

8086CPU响应中断后自动完成的任务是什么?

(1)有中断源发出的中断请求信号,并保存在中断请求触发器中,直至CPU响应此中断请求之后才清除。

(2)开放总中断。

(3)在现行指令结束后响应中断。

关中断,断点保护,形成中断入口地址。

即获得中断服务程序的入口地址,从而进入中断服务程序。

13、软件中断有哪些特点?

硬件中断有那些特点?

软件中断是由CPU内部事件引起的中断,是确定的;与硬件无关,不执行中断响应周期;除单步中断外,软件中断(内部中断)不可屏蔽;优先级高于硬件中断(外部中断)。

硬件中断由外部事件引起,是随机的,需要执行总线周期,中断类型码由中断控制器提供。

14、什么是中断向量?

它放在哪里?

对应于类型号1CH的中断向量在哪里?

如1CH中断程序从5110H:

2030H开始,则中断向量应怎样存放?

中断向量是中断处理子程序的入口地址,它放在中断向量表中。

由1ch*4=70H知中断向量存放在0000:

0070处。

由于中断处理入口地址为5110H:

2030H,所以2030H应放在0070H,0071H两个存储单元,5110H应放在0072H、0073H这2个单元。

15、简述定时器/计数器芯片8253的主要功能。

说明OUT、CLOCK与GATE信号的作用。

(1)具有3个独立的16位定时/计时器,采用二进制计数时最大计数范围为0~65535,采用BCD码计数时,最大计数值为0~9999

(2)每个定时/计数器都有自己的时钟输入CLK,定时的输出OUT和门控信号GATE(3)每个定时/计数器均可以按二进制或BCD码计数,计数频率可达2MHz(4)每个定时/计数器都有6种工作方式,通过编程设置,计数器可做计数用,也可做定时用(5)所有输入和输出电平都与TTL兼容

OUT是计数器的输出端,用于计数信号输出,CLOCK是计数器的时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号,GATE是门控输入端,用于外部控制计数器的启动或停止计数的操作

16、8253内部有几个独立通道?

8253有几种工作方式?

初始化8253的步骤是什么?

若8253端口地址为200H-203H,对应的端口是哪个?

8253内部有3个独立通道,8253有,6种工作方式,初始化8253的步骤是:

选择计数器,确定计数器数据的读写格式,确定计数器的工作方式,确定计数器计数的数制,写入计数初值,若8253端口地址为200H-203H,计数器0,1,2和控制字寄存器端口的地址分别为200H,201H,202H和203H

17、并行接口8255有几个数据端口?

若端口地址为300H-303H,对应的端口是哪个?

怎样初始化8255?

并行接口8255有4个数据端口,若端口地址为300H-303H,对应的端口是,:

端口A、B、C和控制端口的地址分别为300H,301H,302H和303H

18、假设8255A的端口A工作于方式0,外设需要提供两个联络信号,一个为输出选通,一个为外设就绪信号输入,试选择端口并说明理由。

若8255A的端口A工作于方式0输出,外设需要提供两个联络信号,把端口C的高4位某位,例如PC7规定为输出口,用来输出选通信号;而把端口C的低4位规定为输入口,例如用PC0用来读入外设的状态。

就是这样,利用端口C来配合端口A和端口B的输入/输出操作。

19、中断控制器8259的主要功能?

简述8259的工作过程。

中断控制器8259具有8级优先权管理,可用9片扩展为64级中断系统,接受中断请求,提供中断类型号,具有屏蔽与开放中断的功能,可编程选择不同工作方式

8259的工作过程:

(1).有请求输入时,将IRR相应位置位;

(2).经IMR屏蔽电路处理后(IRR与IMR相与),送PR;

(3).PR检测出最高的中断请求位,并经嵌套处理考虑是否发送INT;

(4).若可发INT信号,则控制逻辑将INT信号送给CPU的INTR引脚

(6).若CPU处在开中断,则在当前指令完成后,发两个INTA信号;

(7).8259A接到第一个INTA信号后,使ISR位置位,IRR相应位复位;

(8).CPU启动另一个响应周期,输出第二个INTA脉冲,8259A

(9).向数据总线送出中断类型码;同时,CPU取出此向量乘以4,

(10).得到中断服务程序的入口地址;

(11).中断响应周期完成,CPU执行中断服务程序,8259A工作

(12).在自动结束AEOI或普通结束EOI模式下,使ISR清0。

三、编程应用题

1、编程计算((X+Y)*10)+Z)/X,X、Y、Z都是16位无符号数,结果存在RESULT开始的单元。

DATASEGMENT

RESULTDW2DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX;初始化

MOVBX,0

MOVAX,X

ADDAX,Y

JNCS0

MOVBX,1

S0:

MOVDX,0

MOVCX,10

MULCX

ADDDX,BX

ADDAX,Z

ADCDX,0

MOVBX,X

DIVBX

LEASI,RESULT

MOV[SI],AX

ADDSI,2

MOV[SI],DX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2、将BUF1开始的100字节传送到BUF2开始的单元,然后从中检索字符“#”,并将此单元换成空格字符。

DATASEGMENT

BUF2DB100DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX;初始化

MOVES,AX

LEASI,BUF1

LEADI,BUF2

MOVCX,100

CLD

REPMOVSB

MOVCX,100

LEABUF2

S:

MOVAL,’#’

COMAL,[DI]

JNZCOUN

MOVAL,’’

MOV[DI],AL

COUN:

INCDI

LOOPS

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

3、编写一段程序,比较两个5字节的字符串OLDS和NEWS,若相同,在RESULT置0,否则置0FFH。

DATASEGMENT

OLDSDB1,2,3,4,5

NEWSDB1,2,3,4,'A'

N=$-NEWS

RESULTDB0

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX;初始化

MOVSI,OFFSETOLDS

MOVDI,OFFSETNEWS

MOVCX,N

DON:

MOVAL,[SI]

CMPAL,[DI]

JNZNOEQU;串不相等转

INCSI

INCDI

LOOPDON

MOVAL,0

JMPOUTPUT

NOEQU:

MOVAL,0FFH

OUTPUT:

MOVRESULT,AL

STOP:

JMPSTOP;程序陷阱

CODEENDS

ENDSTART

4、累加数组中的元素,将和存于SUM开始单元,数据段定义如下

DATASEGMENT

ARRAYDW10,10,12,4,5,6,7,8,9,10

COUNTDW($-ARRAY)/2

SUMDW?

?

DATAENDS

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,COUNT

MOVBX,2

MULBX

MOVCX,AX

MOVAX,0

LEASI,ARRAY

S:

ADDAX,[SI]

ADDSI,2

LOOPS

LEASI,SUM

MOV[SI],AX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

5、编写程序完成求1+2+3+……N的累加和,直到累加和超过1000为止。

统计被累加的自然数的个数送CN单元,累加和送SUM。

DATASEGMENT

CNDW?

SUMDW?

DATAENDS

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVCX,0

MOVAX,0

MOVBX,1

S:

ADDAX,BX

INCCX

CMPAX,1000

JAOK

INCBX

JMPS

OK:

LEASI,SUM

MOV[SI],AX

LEADI,CN

MOV[DI],CX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

6、从给定串中寻找最大值,并放到MAX单元,元素放在BUFFER开始的字节单元中。

DATASEGMENT

BUFFERDB10,32,56,11,90,56,89,21

NEQU$-BUFFER

MAXDB?

DATAENDS

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVCX,N-1

LEASI,BUFFER

S:

MOVAL,[SI]

CMPAL,[SI+1]

JNAS1

XCHG[SI+1],AL

XCHG[SI],AL

S1:

INCSI

LOOPS

MOVAL,[SI]

LEASI,MAX

MOVSI,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

7、把BUF表中的字节元素按值的大小升序排列。

数据段定义如下:

BUFDB10,32,56,11,90,56,89,21

N=$-BUF

DATASEGMENT

BUFDB10,32,56,11,90,56,89,21

NEQU$-BUF

DATAENDS

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,N-1

S1:

MOVBL,0

MOVCXDX

LEASI,BUF

S2:

MOVAL,[SI]

CMPAL,[SI+1]

JNANO

XCHG[SI+1],AL

XCHG[SI],AL

MOVBL,0FFH

NO:

INCSI

LOOPS2

DECDX

CMPDX,0

JNES1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

8、类型号为20H的中断服务程序入口符号地址为INT-5,试写出中断向量的装入程序片断。

CLI

PUSHDS

PUSHAX

XORAX,AX

MOVDS,AX

MOVAX,OFFSETINT-5

MOVWORDPTR[080H],AX

MOVAX,SEGINT-5

MOVWORDPTR[082H],AX

POPAX

POPDS

STI

9、设一个8253的计数器0产生周期为20ms的定时信号,计数器1产生周期为100ms的定时信号。

设外部时钟频率为f=2MHZ,端口地址为330H~333H。

试对它进行初始化编程。

MOVAL,00110100B

MOVDX,333H

OUTDX,AL

MOVAX,40000

MOVDX,330H

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVAL,01110100B

MOVDX,333H

OUTDX,AL

MOVAX,5

MOVDX,331H

OUTDX,AL

MOVAL,AH

OUTDX,AL

10、已知某8253占用I/O空间地址为40H~43H,设定时器0、定时器1工作于方式3,外部提供一个时钟,频率f=2MHZ。

要求定时器1连续产生5ms的定时信号,定时器0连续产生5秒的定时信号。

MOVAL,00110110B

OUT43H,AL

MOVAX,1000

OUT40H,AL

MOVAL,AH

OUT40H,AL

MOVAL,01110110B

OUT43H,AL

MOVAX,5000

OUT41HAL

MOVAL,AH

OUT41H,AL

11、用8255A控制三个发光二极管依秩序循环显示。

假设开关闭合时,点亮发光二极管,开关断开时息灭二极管。

(1)画出原理图,并说明工作原理;

(2)选择8255工作方式;(3)编写8255初始化程序与控制程序。

见课本P226

12、8255连接一组开关与一组LED显示器,如图所示。

开关状态用LED显示,若闭合,则点亮。

8255端口地址为310H~313H。

(1)选择8255工作方式;编写8255初始化程序与控制程序。

见课本P233

四、常用指令与读程序

1、8086CPU执行如下指令后的结果,以及标志CF、ZF的值。

MOVAL,80H

SUBAL,10H;(AL)=70H

ADDAL,89H;(AL)=F9H,CF=0,ZF=0

2、CPU执行如下指令后的结果。

MOVAX,1234H

MOVBX,5678H

PUSHAX

POPCX

AX=1234H,BX=5678H,CX=1234H

写出执行下列指令结果.

MOVAX,TABLE

MOVBX,OFFSETTABLE

MOVCX,N

MOVDX,LENGTHZER

AX=0BX=1000HCX=8DX=24

3、单独执行下列指令的结果

MOVAL,10110101BAL=10110101B

ANDAL,00011111BAL=00010101B

ORAL,11000000BAL=11010101B

XORAL,00001111BAL=11011010B

4、单独执行下列指令的结果

假设(AL)=10101111B,CF=0,CL=4,写出分别执行下列指令后的结果以及标志位CF、ZF的值。

SHLAL,CLAL=11110000BCF=0ZF=0

SHRAL,CLAL=00001010BCF=1ZF=0

ROLAL,CLAL=11111010BCF=0ZF=0

6、读程序,写出结果。

MOVAL,5BH

TESTAL,80H

JZLP

MOVBL,1

JMPSTOP

LP:

MOVBL,0

HLT

执行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1