[微机原理及应用][A]模拟试题
《微机原理及应用》[A] 模拟试题
(2004年考题)
一、填空题(共42分,每空1.5分)
1、若一个数据块在内存中的起始地址为9E40H:C52AH,则这个数据块的起始地址的物理地址为(1) 。
2、设堆栈指针(SP)=6318H,此时若将AX、BX、CX、DX依次推入堆栈后,(SP)=( 2 )。 3、某8086微处理器系统中设计了一个存储为16KB的SRAM存储器模块,如果该存储器模块的起始地址为80000H,则该存储器模块的末地址为(3 )。若用于该存储器模块片选译码的地址信号线为A17、A18、A19,则该模块片选信号CS的逻辑表达式为:CS=( 4 )。 4、INT 80H 指令的中断向量存放在( 5 )H:( 6)H中。 5、下面程序段执行后,标志位CF=(7 ),OF=(8 )
MOV AL,-64 MOV BL,-70 ADD AL,BL
6、下面程序段执行后,(AX)=(9 )。
MOV SI,0 MOV DI,0 MOV CX,60 REP MOVSB MOV AX,SI
7、下面程序段执行后,(AX)=( 10 ),(BX)=(11 )。
MOV AX,92H MOV BX,10H ADD BX,70H ADC AX,BX PUSH AX MOV AX,20H POP BX ADD AX,BX
8、 8086CPU的一个最基本的总线周期需(12 )个时钟周期。
9、 在串行通信中,RS232标准电平与TTL电平是否兼容?答案是(13 );将RS232的电平范围(14 )规定为逻辑“0”,即低电平。 10、INTA是8086CPU对8259中断控制器的中断响应信号,INTA包含两个负脉冲,对于8259来说,这两个负脉冲的含义是( 15 )、( 16)。
11、要使8086CPU复位,要求RESET引脚至少维持(17 )个时钟周期的高电平,才有效。当复位信号RESET变为低电平启动时,8086CPU开始执行程序的存储单元的物理地址为(18)。 12、欲使8086CPU工作在最小模式,其引脚MN/MX应接+5V或接地?答案是(19 )。 13、最小模式下8086CPU的READY引脚和HLDA引脚分别是输入或是输出引脚?答案是(20 )。
14、最大模式下8086CPU对8259的中断响应信号INTA由总线控制器8288产生。这句话对吗?答案是(21 )
15、8086CPU输出的BHE信号需经锁存器与存储器连接。这句话对吗?答案是(22 )。 16、最小模式下8086CPU在执行指令MOV AL,[SI]期间,8086的下面哪些引脚为低电平?答案是(23 )。 A、 M/IO B、WR C、RD D、DT/ R
17、8086CPU输出的地址信号可直接与存储器连接。这句话对吗?答案是(24 )。
18、若用2164的动态RAM芯片(64K×1位)组成128KB的存储器系统,需要多少片2164芯片。答案是(25 )。
19、定时/计数器8253是通过对脉冲的加法计数实现定时。这句话对吗?答案是( 26 )。 20、采用串行异步通信时,波特率为9600bps,8位数据位,无奇偶校验,1位停止位,那么连续传输9600个ASCII码字符,至少需要( 27 )秒。
21、伪指令ASSUME的作用是( 28 )。
二、(共15分)判断下面指令是否正确,请写出正确的指令序号,多写或少写均扣1.5分。
1、MOV AL,AH 2、MOV CL,BX 3、PUSH BL 4、MOV AL,27 5、ADC AL,CL 6、MUL 9
7、IN AL,120H 8、MOV DS,1020H 9、MOV AL,[DX] 10、SHL AL,3
三、阅读程序并写出运行结果(共12分) .
1、 已知某数据段定义如下: (6分)
DSEG SEGMENT
ORG 00H DAT1 DW 4 ,26 ORG 06H DAT2 DW 5678H DB ‘AB’
DSEG ENDS
要求:用内存分配示意图,说明该数据段的存储器分配情况。 2、 (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)=( ),(DH)=()。
四、编程设计题(共31分,限重修微机原理的学生选作2或3小题)
1、 1、 (18分)DAT为首地址的两个存储单元存放了两个无符号字节数,求它们的差的绝对值存入ABS单元中,把ABS单元的值以十进制形式显示出来,然后返回DOS系统。要求显示程序用中断类型号为60H的中断服务子程序来完成。
2、 2、 (13分)在存储单元中,以DAT为首地址存放了10个无符号数(范围为0~255),
对这10个数进行以下处理:去掉一个最大值和一个最小值后,求余下8个数的平均值并存入AVG单元中。请编写一个完整的汇编语言源程序实现。
3、 3、 (13分)接口电路如下图所示,用8255驱动8个发光二极管亮或灭,用8253作为
定时器,输入CLK0的频率为1KHz,OUT0输出频率为1Hz的方波,开关K作为功能切换。按下面要求编写8255和8253的初始化程序和功能程序。 要求是:开关K打到位置1时
(1) (1) 在第1秒内8个发光二极管全亮;
(2) (2) 在第2秒内低位4个发光二极管全亮,高位4个发光二极管全灭; (3) (3) 在第3秒内低位4个发光二极管全灭,高位4个发光二极管全亮; (4) (4) 依次连续循环。
(5) (5) 开关K打到位置2时,上述过程结束,开关K再打到位置1时,又开始上
述循环过程。
注:8255的端口地址为60H~63H 8253的端口地址为70H~73H
《微机原理及应用》[A]模拟试题
参考答案
一、 一、 填空题
1.(1)AA92AH 2.(2)6310H
3.(3)83FFFH,(4)A19A*18A*17=100 4.(5)0000H,(6)0200H 5.(7)1 ,(8)1 6.(9)1 7.(10)0132H,(11)0112H 8.(12)4 9.(13)否,(14)-5~-15V
10.(15)第一个负脉冲到达时,8259A使当前中断服务寄存器ISR中的相应位置1;
(16)第二个负脉冲到达时,8259A将中断类型码送到数据总线的D7~D0,CPU将此作为中断类型码。
11.(17)4,(18)FFFF0H 12.(19)应接+5V 13.(20)READY引脚是输入, HLDA引脚输出引脚
14.(21)对 15.(22)不对 16.(23)B 17.(24)不对 18.(25)16 19.(26)对
20.(27)9 21.(28)指示段地址与段寄存器的关系 二、 二、 判断
正确的是:1,4,5,9
三、 三、 阅读程序并写出运行结果 四、 四、 编程设计题 1、 1、 START:PUSH CS
PUSH IP MOV AX,0 MOV ES,AX
MOV DI,4*60H
MOV AX,OFFSET FUNCTION STOSW
MOV AX,SET FUNCTION STOSW
INT 60H
FUNCTION PROC
MOV AL,DAT CMP AL,DAT+1 JNC L1
MOV AH,DAT+1 MOV BY1,AL MOV AL,AH
L1: SUB AL,DAT+1
AAS
RUNCTION ENDP 2.
DATA SEGMENT
DAT DB 3,4,2,3,4,6,7,8,9,19 DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV DS,AX MOV CX,10
MOV SI,OFFSET DAT1
LP1: CALL PAIXU
INC SI
LOOP LP1
MOV DX,OFFSET DAT1 MOV AH,09H INT 21H INC DX
MOV CX,08H MOV AX,0
LPADD: ADD AX,PTR BYTR[DX]
LOOP LPADD
MOV BL,8 DIV BL MOV AVG,AH
MOV AH,4CH INT 21H
PAIXU PROC NEAR
PUSH CX PUSH SI MOV AL,[SI]
CMPLP: CMP AL,BYTE PTR[SI+1]
JGE NEXT
MOV BL,[SI+1] MOV [SI],BL MOV [SI+1],AL
MOV AL,BL
NEXT: INC SI
LOOP CMPLP POP SI POP CX PAIXU ENDP CODE ENDS
END START 3. 8253初始化程序段: LED DB FFH,05H,03H
初始化8253: MOV AL,00110110B OUT 73H,AL MOV AX,03E8H OUT 70H,AL MOV AL,AH OUT 70H,AL
初始化8255: MOV AL,10000011B OUT 63H,AL 控制程序:
LP: LEA BX,LED
MOV CX,3 T1: IN AL,61H
TEST AL,80H JNZ T1
DON:MOV AL,[BX]
OUT DX,AL LOW:IN AL,62H
TEST AL,01H JNZ LOW HIGH:IN AL,62H
TEST AL,01H JZ HIGH INC BX DEC CX JNZ DON JMP LP
8253 A输出,B输入,C低四位输入;初始化;