(完整word版)微机原理复习题 下载本文

198,通常一个在中断服务程序的第一条指令是 STI,其目的是(c) a. 开放所有屏蔽中断 b. 允许任一级中断产生 c. 允许高一级中断产生 d. 允许同一级中断产生

199,PC 机采用向量中断方式处理 8 级外中断,中断号依次为 08H~0FH,在 RAM 0: 2CH 单元开始依次存放 23H,FFH, D0H, 0FDH 四个字节,该向量对应的中断号和 中断服务程序入口地址是( c)

a. 0CH, 23FF:00FEH b. 0BH, D0FD:23FFH c. 0BH, 0FDD0:FF23H d. 0CH, F000:FF23H

三、简答题

1.一般输入输出接口电路安排有哪三类寄存器?它们各自的作用是什么?

包括数据寄存器、状态寄存器和控制寄存器

数据寄存器保存处理器与外设之间交换的数据,又可以分成数据输入寄存器和数据输出寄存器;状态寄存器保存外设或其接口电路当前的工作状态信息;控制寄存器保存处理器控制接口电路和外设操作的有关信息。

2.8086CPU分为哪两大功能部件?其各自的主要功能是什么? 两大功能部件:总线接口单元BIU和执行单元EU

总线接口单元BIU由6个字节的指令队列、指令指针寄存器IP、四个段寄存器、地址加法器和总线控制逻辑等构成,管理着8086与系统总线的接口,负责处理器对存储器和外设进行访问

执行单元EU由ALU、通用寄存器、标志寄存器和进行指令译码的控制电路等构成,负责指令译码、数据运算和指令执行。

3.以可屏蔽中断为例,说明一次完整的中断过程主要包括哪些环节?

①中断请求②中断响应③关中断④断点保护⑤中断源识别⑥现场保护⑦中断服务⑧恢复现场⑨开中断⑩中断返回

4.什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?

答:处理器可处理的每种中断的编号为中断类型码。中断向量是指中断处理程序的入口地址,由处理器自动寻址。中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。在8086系统中,中断类型码乘4得到中断向量表的入口地址,从此处读出4字节内容即为中断向量。

5.试说明程序查询数据传送方式完成一次数据输入过程的步骤?

1) 执行一条输入指令,读取外设状态; 2) 根据外设的状态决定程序的去向。若外设“未准备就绪”,则程序重复检测外设状态;若外设“准备就绪”,则发出一条输入指令,进行一次数据输入过程。

6.比较中断与DMA两种传输方式的特点。

答:中断方式下,外设需与主机传输数据时要请求主机给予中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输过程始终是在处理器所执行的指令控制之下。

直接存储器访问(DMA)方式下,系统中有一个DMA控制器,它是一个可驱动总线的主控部件。当外设与主存储器之间需要传输数据时,外设向DMA控制器发出DMA请求,DMA控制器向中央处理器发出总线请求,取得总线控制权以后,DMA控制器按照总线时序控制外设与存储器间的数据传输而不是通过指令来控制数据传输,传输速度大大高于中断方式。

四、程序和综合应用题

1.设置一个数据段,按照如下要求定义变量或符号常量: (1)my1b为字符串变量:Personal Computer (2)my2b为用十进制数表示的字节变量:20 (3)my3b为用二进制数表示的字节变量:20 (4)my4w为20个未赋值的字变量 (5)my5c为常量100

my1b byte ‘Personal Computer‘ my2b byte 20 my3b byte 00010100B my4w word 20 dup(20) my5c=100 (或 my5c equ 100)

2. 定义常量NUM,其值为5;数据段中定义数组变量DATALIST,它的头4个字单元中依次存放-10、2和4,最后一个存储单元初值不定;定义字节变量CHAB,它是10个未定义的变量。

NUM =5 (或NUM equ 5) DATALIST word -10,2,4,? CHAB byte 10 dup(?)

3.下面是一个程序段,给出下列各条指令执行后AX的结果: mov ax,1470h ;ax=( 1470h ) and ax,ax ;ax=( 1470h ) or ax,ax ;ax=( 1470h ) not ax ;ax=( 0eb8fh ) test ax,0f0f0h ;ax=( 0eb8fh ) 4. 执行如下程序片段,说明每条指令的执行结果:

mov si,10011100b ;si=( 009c )h and si,80h ;si=( 0080 )h or si,7fh ;si=( 00ff )h xor si,0feh ;si=( 0001 )h test si,0f0fh ;si=( 0001 )h

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

DATA_1 DB 6 DUP(4 DUP(0FFH)) 答案:

24字节

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

(1) ASC_DATA DB ‘1234’ (2) HEX_DATA DB 1234H 答案: (1) 设置了4个字节 (2) 设置了2个字节

7. 8086与74LS138译码器的连接如图,试判断其输出端Y0、Y7所决定的内存地址范围。

要有解题过程

Y0: 00000H~01FFFH

A15 A14 A13 MEMR MEMW A18 A19 A16 ≥1 & G G2A G2B 74LS138 C B A Y0 Y7 20000H~21FFFH Y7: 0E000H~0FFFFH

2E000H~2FFFFH

8. 下图为一存储器同8086的连接图,试计算该存储器的地址范围

要有解题过程

68000H-6BFFFH,6C000H-6FFFFH 或E8000H-EBFFFH,EC000H-EFFFFH。

9. 编写完整的汇编语言程序,将外设20H与30H端口的内容相乘,结果放在AX中 START: IN AL,20H ;将20H端口 的字节读入AL MOV BL,AL ; AL中的8位字节送 BL IN AL,30H ;将30H端口 的字节读入AL MOV CL,AL ; AL中的8位字节送 CL MOV AX,0 ; 立即数0送 AX

ADLOP: ADD AL,BL ; AL与BL的内容相加,结果放AL ADC AH,0 ; AH的内容与立即数0以及CF相加 DEC CL ; CL内容减1,结果放CL JNZ ADLOP ; 当结果不为零时,执行ADLOP HLT ; 暂停