2011年微机原理期末复习题 下载本文

MOV [0184H],AX MOV AX,1020H MOV [0186H],AX POP DS

10、简述8086的中断处理过程。

当CPU在INTR引脚上接受一个高电平的中断请求信号并且当前的中断允许标志为1,CPU就会在当前指令执行完后开始响应外部的中断请求,具体如下:

1、 从数据总线上读取外设送来的中断类型码,将其存入内部暂存器中; 2、 将标志寄存器的值推入堆栈; 3、 将标志寄存器中IF 和TF清零; 4、 将断点保护到堆栈中;

5、 根据中断类型获取中断向量转入中断处理子程序; 6、 处理完后恢复现场。 响应后堆栈的顶部4个单元是IP,CS。

11、简述接口的同步控制方式。

CPU与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA方式。

其中程序方式又分为无条件传送方式和条件传送方式两种方式。无条件传送方式用于简单外设,如LED显示器。条件传送方式用于外设较少的情形,接口简单,但CPU效率低。

在实时系统以及多个外设的系统中,采用中断传送方式。这种方式CPU利用率高,速度快,但需要专门的中断控制电路。 如果要求实现高速数据传输,采用直接存储器传输方式,即DMA方式。

12、说明总线接口部件的作用。

总线接口部件的作用是负责与存储器和I/O端口传送数据,总线接口部件主要包括:4个段地址寄存器;一个指令指针寄存器IP;一个20位地址加法器;6字节指令队列;内部通信寄存器和总线控制逻辑。

13、CPU执行转移指令时,指令队列寄存器如何变化?

执行转移指令、调用指令、返回指令时, BIU自动清除指令队列,然后从新地址取指令,并立即送给EU,然后再从新单元开始,从新填满队列机构。

14、简述8086最小模式系统与最大模式系统之间的主要区别。

最小模式:MN/MX接+5V,只有8086一个CPU,控制信号由CPU产生。

最大模式:MN/MX接地,除8086一个主CPU外,还有一个以上协处理器,需要总线控制器来变换和组合控制信号。

15、画图说明,在8088内部怎样形成20位物理地址? 答:①20位物理地址的形成如下图所示:

②段寄存器内容左移4位与16位偏移量相加,形成20位物理地址。

16、什么是DRAM的读——修改——写周期?

答:①这是在一个周期内完成的; ②读出某一单元的内容,修改后再写回这个单元。

17、串行异步通信字符格式中的停止位和空闲位有什么不同? ①停止位和空闲位都是高电平;

②停止位是字符格式中规定好的,是传递字符的一部分;

③两个互相通信的系统,在传输线上没有字符传送时是高电平。这个高电平称为空闲位。

18、在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?、 答:①全译码方式:存储器芯片中的每一个存储单元对应一个唯一的地址。译码需要的器件多; ②部分译码方式:存储器芯片中的一个存储单元有多个地址。译码简单;

③线选:存储器芯片中的一个存储单元有多个地址。地址有可能不连续。不需要译码。

五、阅读程序 1、源程序如下:

MOV CL,4

MOV AX,[2000H] SHL AL,CL SHR AX,CL MOV [2000H],AX

试问:?若程序执行前,数据段内(2000H)=09H,(2001H)=03H, 则执行后有(2000H)= 39H,(2001H)= 00H。

?本程序段的功能将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD码,并存入(2000H)单元,0?(2001H)。

2、源程序如下: MOV AL,0B7H AND AL,0DDH

XOR AL,81H OR AL,33H

JP LAB1 JMP LAB2

试问:?执行程序后AL=37H;

?程序将转到哪一个地址执行:LAB2。

3、源程序如下:

MOV CX,9 MOV AL,01H MOV SI,1000H

NEXT: MOV [SI],AL

INC SI

SHL AL,1 LOOP NEXT

试问:?执行本程序后有:AL=0;SI=1009H;CX=0;

?本程序的功能是对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个。

4、某系统中8253占用地址为100H~103H。初始化程序如下: MOV DX, 103H

MOV AL, 16H OUT DX, AL SUB DX, 3

OUT DX, AL

试问:?此段程序是给8253的哪一个计数器初始化?计数器0 安排工作在哪种工作方式?工作于方式3

?若该计数器的输入脉冲的频率为1MHZ,则其输出脉冲的频率为:45.454KHZ。

5、已知某8255A在系统中占用88~8BH号端口地址,现欲安排其PA,PB,PC口全部为输出,PA,PB口均工作于方式0模式,并将PC6置位,使PC3复位,试编写出相应的初始化程序:

MOV AL, 80H OUT 8BH,AL MOV AL,ODH OUT 8BH,AL

MOV AL,06H OUT 8BH,AL

6、已知某数据段定义如下:

DSEG

SEGMENT ORG ORG DB

DSEG

00H 06H ‘AB’

DAT1 DW 4 ,26 DAT2 DW 5678H ENDS

要求:用内存分配示意图,说明该数据段的存储器分配情况。

地址: 数据: 6、 STR DB ‘ABCDEF0123456789’

MOV BX ,OFFSET STR MOV AL ,65H PUSH AX AND AL ,0FH XLAT

MOV DL,AL POP AX ADD AL,08H DAA

MOV DH,AL CMP DH,32H

执行上面程序段后,(DL)=(46H),(DH)=(73H)。

7、写出AX和BX最后的值 MOV AX , FFFFH MOV BX , 1111H PUSH AX PUSH BX POP AX POP BX 运行结果:

AX= 1111H

BX= FFFFH 00H 04H 01H 00H 02H 1AH 03H 00H 04H 05H 06H 78H 07H 56H 08H 41H 09H 42H 0A0H

8、写出AL、AH和AX最后的值 XOR AX , AX OR AL , 0FH AND AL , 01H MOV AH , 0FH OR AH , 10H 运行结果: AL= 01H AH= 1FH AX= 1F01H

9、试编写程序段实现将键盘输入的在屏幕上显示出来。 参考程序:CODE SEGMENT

ASSUME CS:CODE

START:MOV AL,01H

INT 21H MOV AH, 4CH INT 21H

CODE ENDS

END START

10、 两个非组合BCD数(BY0,BY1)进行十进制减法,并将差求绝对值后保存在SD单元。 MOV AL,BY0 CMP AL,BY1 JNC L1 MOV AH,BY1 MOV BY1,AL MOV AL,AH L1: SUB AL,BY1

AAS

MOV SD,AL

11、附加段有一块长50个字的数据区,首址为DEST,现将数据区初始化为0FFFFH。 LEA DI,DEST MOV CLD

CX,50*2