微机原理及应用试卷A试题及_2008答案

2007-2008

1 微型计算机原理及应用

7、8086的输入/输出控制方式包括程序控制方式 、中断控制方式 、 DMA 控制方式 和 输入/输出处理机控制方式 。

8、8086微机系统中的一个中断向量占4个存储单元,假定某中断对应的中断向量

存放在0000:002C H ;那么该中断向量对应的中断类型号为 0B H ,若该向量对应

的中断处理子程序放在0080:0402H 开始的内存区域中,则按照地址由低到高的顺

序写出其相应的存储单元的内容为 02H 、 04H 、 80H

00H 。

9、8259A 包括两种触发方式,即 电平触发方式和 脉冲触发 方式;8259A 中对中

断优先权的管理可分为三种方式,即 完全嵌套方式 、 自动循环方式 、和 中断屏

蔽方式 。

10、8086复位后如下寄存器的内容为:CS= FFFF H,IP= 0000 H 。

二、选择题(1—15题,每题1分,共15分。)

1、8086的工作方式为 A 。

(A)实地址方式 (B )保护地址方式 (C )虚拟8086方式 (D )实地址和保护地址方式 2、8086通过 A 信号和 控制连接在总线上的存储器和接口以何种方式传输数据。

(A) BHE A 0 (B) ALE A 0 (C) BHE A 1 (D) ALE A 1

3、MDR 表示的意思是 B 。

(A)累加器 (B )存储器数据寄存器 (C)存储器地址寄存器 (D )环形计数器

4、标志寄存器中标志IF =1表示的是 A 。

(A)CPU 可以接收可屏蔽中断请求 (B )运算结果低8位中所含1的个数为奇数

(C)运算结果超出了表示数的范围 (D) CPU 按跟踪方式执行指令

5、MOV AX ,[BX+SI]的源操作数的物理地址是 A 。

课程试题A

学期 学年

(A)16×(DS)+(BX)+(SI) (B)16×(ES)+(BX)+(SI)

(C)16×(SS)+(BX)+(SI) (D)16×(CS)+(BX)+(SI)

6、调试程序DEBUG中的指令U的含义是 D 。

(A)从指定地址显示内容(B)从指定地址执行程序(C)读并显示输入的字节(D)反汇编

7、8位二进制原码表示的整数数据范围是 B 。

(A) -128~+127 (B) -127~+127 (C) -128~+128 (D) -127~+128

8、环形计数器是组成 B 的一部分。

(A)总线接口单元 (B)控制部件 (C)算术逻辑单元 (D)运算器

9、IRET指令的功能为 A 。

(A)中断返回 (B) 有符号数小于时转移

(C)溢出时中断 (D) 过程返回

10、程序运行过程中进行了一次FAR转移,则 C 。

(A) CS改变IP不变 (B)CS和IP都不变 (C)CS和IP都改变 (D)CS不变IP改变

11、8086的第25引脚ALE的作用是 A 。

(A) 最小工作模式下地址锁存允许(B) 最大工作模式下地址锁存允许

(C) 最小工作模式下数据允许输出(D) 最大工作模式下数据允许输出

12、某条指令可以完成对指令中给出的操作数取补码的功能,这条指令为 A 。

(A) NEG (B)XCHG (C) XLAT (D) TEST

13、ROR指令的意义是 A 。

(A) 不带CF的循环右移 (B) 带CF的循环右移 (C) 算术右移 (D) 逻辑右移

14、假定DS=1000H,AX=2000H,[1234H]=30H,[1235H]=40H当执行完

MOV AX ,[1234H]指令后,AX的值为 A 。

(A) 4030H (B) 3040H (C) 1234H (D) 2000H

15、8086的数据总线的宽度是 C 位。

(A)4 (B)8 (C)16 (D)32

三、简答题(1—5题,每题6分,共30分。)

1、写出全加器的真值表,求出逻辑表达式并用其组成4位补码加/减法电路。

逻辑表达式为:

2、简述8086CPU总线接口部件(BIU)的功能及其组成。

总线接口部件的功能是负责与存储器、I/O端口传送数据,即BIU管理在存储器中存取程序和数据的实际处理过程。它主要由以下几部分构成:

1.4个段地址寄存器。即CS DS ES SS。

2.16位的指令指针寄存器IP。

3.20位的地址加法器。

4.6字节的指令队列。

3、试说明可屏蔽中断和非屏蔽中断的区别和联系。

可屏蔽中断和不可屏蔽中断都属于外部中断,是由外部中断源引起的;但它们也有区别:可屏蔽中断是通过CPU的INTR引脚引入,当中断标志IF=1时允许中断,当IF=0时禁止中断,不可屏蔽中断是由NMI引脚引入,不受IF标志的影响。

4、简述8259A芯片中与中断请求操作相关的寄存器的名称及其功能。

8259A中与中断请求操作相关的寄存器有:

1.中断请求寄存器IRR,它是一个8位的寄存器,用来存放外部输入的中断请求信

号IR0~IR7。

2.中断服务寄存器ISR,它是一个8位的寄存器,用来记录正在处理的中断请求。

3.中断屏蔽寄存器IMR,它是一个8位的寄存器,用来存放对各级中断的屏蔽信息。

4.优先级判别器PR,用来识别各中断请求信号的优先级别。

5、简述用汇编语言进行程序设计的步骤。

汇编语言程序设计步骤:

(1)分析问题:已知条件、要解决的问题、功能/性能要求等。

(2)建立数学模型:把问题数学化、公式化,便于计算机处理。

(3)确定算法:简单、速度快、精度高、代码量小、编程容易。

(4)绘制程序流程图:用箭头、框图、菱形图等表示程序结构。

(5)内存空间分配:为程序或数据分配内存空间。

(6)编制程序与静态检查:程序结构层次简单、清楚、易懂。

(7)程序调试:利用调试软件DEBUG进行调试。

四、程序分析题(1—3题,共15分。)

1、(6分)依次执行下述指令序列,请在空白处填上当左边指令执行完时该寄存器

的值。

MOV AL,0DH

MOV BH,5CH

MOV CH,04H

ADD AL,BH ;AL= 69 H

OR BH,CH ;BH= 5C H

XOR AL,AL ;AL= 00 H

AND CH,0FH ;CH= 04 H

MOV AX,0004H

MOV BX,00B7H

PUSH AX

PUSH BX

POP AX ;AX= 00B7 H

POP BX ;BX= 0004 H

2、(4分)当下列程序执行完后,AL、BX、DI、DS四个寄存器的内容分别是什么?假定存储器从2000H开始的内容分别为:[2000H]=04H,[2001H]=02H,[2003H]=06H, [2004H]=01H,[2005H]=08H,[2006H]=07H

MOV BX,2000H

MOV AL,03H

XLAT

LDS DI, [2000H]

AL=06H BX=2000H DI=0204H DS=0106H

3、(5分)阅读下面的程序,指出该程序完成的功能。

START: IN AL,71H

CLC

CMP AL,10

JC LP1

CMP AL,20

JC LP2

MOV BL,0FFH

LP3:OUT 73H,BL

HLT

LP1: MOV BL,00

JMP LP3

LP2: MOV BL,88H

JMP LP3

完成功能如下:从外设71H中取一个数,判断其值是否在10~20之间,如果是则送88H给外设73H,如果小于10则送00给外设73H,如果大于20,则送0FFH给外设73H。

五、应用题(1—2题,共 10分。)

按照汇编语言源程序的基本格式编写完整的汇编语言源程序,实现下述功能:

1、(5分)求两个多字节数之差,数据段定义如下:

DATA SEGMENT

NUM1 DB 88H,44H,77H,00H,55H

N1=$-NUM1

NUM2 DB 33H,55H,87H

N2=$-NUM2

NUM3 DB 5 DUP (?)

DATA ENDS

其中NUM1,NUM2为两个多字节无符号数,NUM3为运算结果,利用循环方式实现。(低地址存放数据的低字节)

参考程序:

MY_STACK SEGMENT PARA 'STACK'

DB 100 DUP(?)

MY_STACK ENDS

DATA SEGMENT

NUM1 DB 88H,44H,77H,00H,55H

N1=$-NUM1

NUM2 DB 33H,55H,87H

N2=$-NUM2

NUM3 DB 5 DUP (?)

DATA ENDS

MY_CODE SEGMENT

ASSUME CS:MY_CODE, DS:DATA, SS:MY_STACK

MY_PROC PROC FAR

START: PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

LEA SI,NUM1

LEA DI,NUM2

MOV BX,N1

MOV CX,N2

MM: MOV AL,[DI]

SBB [SI],AL

INC DI

INC SI

DEC BX

LOOP MM

M1: JZ M2

JNC M2

SBB PYTE PTR [SI],0

INC SI

DEC BX

JMP M1

M2 RET

MY_PROC ENDP

MY_CODE ENDS

END START

(5分)利用微机原理实验箱上的8255A芯片,控制8个发光二极管的显示功能,要求如下:通过端口B的读入开关1的状态,若开关闭合,通过端口A点亮1、2、3、4灯,若开关断开,通过端口A点亮5、6、7、8灯。

其中:

1

D6D5=00:端口A方式0;D6D5=01:端口A方式1;D6D5=1X:端口A方式2。

D4=0:端口A输出;D4=1:端口A输入。

2、开关和灯的排列方式都为:

1 2 3 4 5 6 7 8(对应端口数据线由低位到高位排列)假定开关闭合时读入的值为1,开关断开时读入的值为0;端口输出为0时灯亮。MY_STACK SEGMENT PARA 'STACK'

DB 100 DUP(?)

MY_STACK ENDS

MY_DATA SEGMENT PARA 'DATA'

P8255_A DW 0180H

P8255_B DW 0181H

P8255_C DW 0182H

P8255_MODE DW 0183H

MY_DATA ENDS

MY_CODE SEGMENT PARA 'CODE'

ASSUME CS:MY_CODE, DS:MY_DATA, SS:MY_STACK

MY_PROC PROC FAR

START: MOV AX,MY_DATA

MOV DS,AX

MOV DX,P8255_MODE ;设置8255控制字A口输入,B口输出

MOV AL,90H ;控制字为10010000即90H

OUT DX,AL

START1: MOV DX,P8255_B ;读取A口状态IN AL,DX

TEST AL,01H

JZ DEAL1

MOV DX,P8255_A ;输出

MOV AL,0FH

OUT DX,AL ;开关闭合点亮1234灯DEAL1: MOV DX,P8255_A

MOV AL,0F0H

OUT DX,AL ;开关断开点亮5678灯MY_PROC ENDP

MY_CODE ENDS

END START

相关文档
最新文档