微机原理及应用3
《微机原理及应用》模拟试题3
一、填空(28分)
1.微型计算机之所以能自动、连续地运行工作,是因为采用了原理,即周而复始地 、 和 。
2.IBM PC的CPU提供了四个段寄存器,它们是,与其对应的指针寄存器分别是 。
3.微型计算机中常用的两种I/O接口编址方式是:(1),(2) ,IBM PC 8088采用的是 方式。
4.IBM PC 8088/8086中断源有
5.一个完整的中断过程包括、、个步骤。
6.组成32K×8位的存储器,需片1K×4位的ROM芯片;若采用4K×1位的RAM芯片,又需要
7.以下指令,设执行前:DS=2000H,BX=0700H,SI=00A0H,ES=3100H,SS=1500H,CS=3300H,BP=0070H。
(1)执行指令MOV AX,BX后,AX= H,BX= H,该指令的原操作数是 寻址方式,目的操作数是 寻址方式。
(2)指令ADD AX,[BX][SI],其源操作数地址为 H,指令执行后原操作数地址中的内容 变化,源操作数是 寻址方式。
二、单项选择题(12分)
1.微型计算机的典型结构包括三个主要组成部分,它们是: (A)CPU、运算器、I/O接口 (C)CPU、存储器、I/O接口 (A)数据总线 (C)控制总线 (A)16K
(B)CPU、控制器、存储器 (D)CPU、I/O接口、外设 (B)地址总线 (D)系统总线
(D)256K
2.微机的各组成部分,用把它们连在一起。
3.IBM PC采用分段的方式来管理内存,每个最大可达字节。
(B)64K
(C)128K
4.CUP与外设传送数据,当外设传送速率极高时,应采用下列哪种形式: (A)直接传送 (C)中断控制
(B)程序查询 (D)DMA
5.关于堆栈,下列的哪种说法是正确的?
(A)能用SS表示的存储空间 (B)以IP表示的存储空间
(C)能用SP表示的存储空间 (D)以先进后出方式工作的存储空间 6.指令LOOPNZ在循环中退出循环的条件是: (A)CX=0且ZF=0 (C)CX≠0且ZF=0
三、简述题(20分)
程序中的数据定义如下: LNAME ENTRY
DB DB
′IBM-PC test′,′﹩′ 15 DUP(0)
3
11,7,8,3,2
ADDRESS CODE-LIST
(B)CS=0或ZF=1 (D)CS≠0或ZF=1
DB DB
1.假设LNAME相对于某数据段地址偏移为0,试画出内存分配图; 2.用一条MOV指令将LNAME的偏移地址放入AX; 3.用一条指令将CODE-LIST的头两个字节的内容存入SI; 4.执行下列指令后,AX寄存器中的内容是什么?
四、改错题(10分)
在下列程序段中有错误,请找出并更正之。
CSEG START
SEGMENT PROC ORG
RAR 100H DX,05 BH,DX
BYTE PTR [BX] ,1000 CS,04 AX,[SI][DI] DX,AX DX,1 CS,AX
ASSUME CS:CSEG,DS:CSEG MOV MOV ADD
MOV MOV ADD SRR RET
LEA ADD
BX, CODE-LIST BX, ENTRY
MOV AX, WORD PTR [BX]
BEGIN:
L20:
MOV
START CSEG
ENDP ENDS END
BEGIN
五、读程序(15分)
要求:(1)在每条指令后给出作用注释。
(2)画出程序流程框图。 (3)该程序完成什么功能?
六、I/O接口程序设计(15分)
CSEG MAIN
SEGMENT RPOC PUSH XOR
PUSH PUSH POP
MOV MOV MOV MOV MOV ADD INC INC RET ENDP DW DB ENDS END
START
500 DUP(?) 140 DUP(?)
MOV
RAR DS AX,AX AX CS DS DX,64H BX,300 SI,0 DI,0
AL,BYTE PTR NUM1 [BX][SI] AL,AL NUM2[DI],AL DI SI NEXT
ASSUME CS:CSEG,DS:CSEG
START:
NEXT:
LOOP
MAIN NUM1 NUM2 CSEG
8253和8255的端口地址分别为40H~43H和60H~63H。 (1)初始化8253,要求计数器2采用方式3,预置值为533H。 (2)初始化8255,要求A口输入,B口输出,C口输入。
(3)若8255的B口的PB0,PB1控制扬声器的发声,而8253的计数器2的输出则控制PB0,PB1,编制一按键(1,2,…,9)发声程序,键码越大,发声时间越长,按Return键返回DOS。
答案
一、填空
1.存储程序,取指令,分析指令,执行指令 2.CS,DS,SS,ES;IP,SI,SP,DI 3.统一编址,
隔离编址,
隔离偏址
4.NMI, INTR, INT n
5.中断请求, 不断判优, 中断响应, 中断处理, 中断返回 6.64,64
7.(1)0700,0700,寄存器,寄存器 二、(1)C
(2)D
(3)B
(2)207A0,不,基址加变址
(5)D
(5)B
(4)D
三、1.偏移地址 0000H(LNAME):49H,42H,4DH,2DH,50H,43H,20H,74H,65H,73H,74H,24H
偏移地址 000CH(ADDRESS):00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
偏移地址 001BH(ENTRY):03H
偏移地址 001CH(CODE-LIST):0BH,07H,08H,03H,02H 2.MOV AX, OFFSET LNAME 3.MOV SI, WORD PTR CODE-LIST 4.AX=0203H 四、
错误
正确
(1)MOV (2)MOV (3)SRR (4)MOV (5)MOV 五、(1)略 (2)略
BH,DS DX,1 CS,AX
MOV BX,DX
MOV WORD PRT[BX],1000 SHR
DX,1
MOV AX,[BX][DI] MOV DS,AX
BYTE PTR [BX],1000 AX,[SI][DI]
(3)将num1中第300个字节开始的数据乘以2传送到num2开始的单元中,共传送100个字节。
六、(1)
MOV AL,10110110B OUT 043H,AL MOV AX,0533H OUT 42H,AL MOV AL,AH (2)
MOV AL,10011001B OUT 63H,AL (3)程序如下: ;定义代码段 CSEG
START
SEGMENT
ASSUME CS:CSEG,SS:SSEG PROC MOV OUT OUT OUT OUT INT JZ INT CMP JZ CMP JB
MOV MOV MOV MOV
FAR
AL,10010011B
63H,AL ;8255初始化 AL,0B6H
43H,AL ;8253计数器2初始化 AX,0533H
42H,AL ;送时间常数 AL,AH 42H,AL AH,1 16H WAIT1 AH,0 16H EXIT AL,31H WAIT1
;键入的数据
;有键按下,读键盘
AL,0DH ;回车退出
;检查有键按下吗?没有则等待
;A口输入,B口输出,C口输入
OUT 42H,AL
;计数器2,先装入LSB,后MSB ;方式3,16位二进制数,写入控制字 ;初值为0533H ;送LSB至计数器2 ; ;送MSB
WAIT1:
MOV
CMP JA AND MOV
IN MOV
OR OUT MOV
SAL
DDD:
PUSH MOV
DDD1: MOV DELAY:
LOOP
DEC JNZ POP DEC JNZ MOV
OUT JMP
EXIT: MOV INT
START
ENDP
CSEG ENDS
END START
AL,39H WAIT1 ;键入的数据>9,重新输入
AL,0FH DL,AL ;键入的字符转换为数据,用于控制
;延时的循环次数
AL,61H AH,AL ;保存PB口的原输出值 AL,03 ;PB0 PB1置1
61H,AL ;使扬声器发声
CL,4 AL,CL ;发声时间为数字(键入)×6 BX
;发声时间控制(延时)
BX,50 ;可根据机器的工作频率调整延时 ;参数BX和CX计数器 CX,0 DELAY BX DDD1 BX DL DDD AL,AH
61H,AL ;恢复PB口,停止发声 WAIT1 AX,4C00H 21H
;返回DOS