微机原理及应用复习题-答案(2010)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理应用及控制复习题(2010年)
一、 选择题
1、 某内存单元的段基址为2000H,偏移地址为0C800H,则该单元的物理地址为(B)。
A.20000H B. 2C800H C. 0C8000H D. 0CA000H
2、下列四条指令中,错误的指令是(C)。
A. MOV AH, 64H B. MOV BL,8AH C. MOV 8F, AL D. MOV [100H], AL
3、8K*8位的EPROM,其地址线和数据线个数分别为(B)。
A.8,8 B. 13,8 C. 12,8 D. 13,4
4、8253的工作方式有(C)种。
A.4种 B. 5种 C. 6种 D. 8种
5、当8253芯片写入控制字36H时,所使用的通道是(B)。
A.1通道 B. 0通道 C. 2通道 D. 3个通道都不用
6、已知并行接口芯片8255A在微机应用系统中的控制口地址为203H,其C口地址202H,则其B口地址为(B)。
A.200H B. 201H C. 205H D. 207H
7、某系统要求该D/A转换器的输出为0到+5.12V,分辨率为5mV,则所选择的D/A转换器的位数至少应为( B ).(分辩率=满刻度电压值/2n-1)故: 5.12*5=255(28-1)应该是8位
A.8位 B. 10位 C. 12位 D. 16位
8、十进制数-97对应的二进制原码是( D )
A.10011110B B. 10011111B C. 11100000B D. 11100001B
9、无符号二进制数11010111B对应的十进制数是( C )
A.653 B. 327 C. 215 D. 125
10、当进行算术运算时,若运算结果发生溢出,则(C )
A.CF=1 B. DF=1 C. OF=1 D. ZF=1
11、下列四条指令中,错误的指令是(D)。
A. MOV AX, 2000H B. MOV BX,[2000H] C. MOV DS, AX D. MOV DS,2000H
12、在PC/AT总线中,执行I/O读操作时有效的信号是( A )
A./IOR B. /IOW C. /MEMR D. /MEMW
13、8086微处理地址总线20根,在实地址方式下,该微处理器的寻址范围为( A )
A.00000H---0FFFFFH B. 00000H---0AFFFFH C. 00000H---1FFFFH D. 0000H---0FFFFH
14、8086CPU的中断类型号为( D )
A. 0---7H B. 0---FH C. 20---27H D. 00---0FFH
15、8253的定时计数器0通道设置为16位计数工作方式,其初值写入的次数是:B
A. 1次 B. 2次 C. 4次 D. 6次
16、一个12位单极性A/D转换器,量程为0---+10V,其分辨率为( B )δ=10/(2N-1)(N为位数)
A. 1.22mv B. 2.44mv C. 5mv D. 10mv
17、INTEL8088的存储器总线写周期,微处理器给出控制信号,(最小模式)/WR,/RD,IO//M分别为(B )
A. 1,0,1 B. 0,1,0 C. 0,1,1 D. 1,0,0
18、8086指令MOV AX, 1234H,该指令源操作数的寻址方式为( A )
A. 立即数寻址 B. 寄存器寻址 C. 直接寻址 D. 寄存器间接寻址
19、指令INT 17H的中断向量存放在中断向量表中的首地址为(C)
A. 0000:0038H B. 0000:005BH C. 0000:005CH D. 0000:0068H
20、8086/8088CPU中断向量表所占用的物理地址范围为( B )
A. 00001H---00400H B. 00000H---003F
FH C. 00000H---00400H D. 0FFC00H---0FFFFFH
21、某D/A转换器的分辨率为8位,输出电压的范围为0---+5V,则数字80H所对应的输出电压为( B)(5*128/255=2.5)
A. 0.00V B. 2.50V C. 3.50V D. 5.00V
22、CPU中运算器的主要功能是( D )
A、算术运算 B、逻辑运算 C、函数运算 D、算术运算和逻辑运算
23.8086CPU中的段寄存器用来存放(C )
A、存储段的物理地址 B、存储器的逻辑地址 C、存储器的段基值 D、存储器的起始地址
24、8086CPU在进行写内存操作时,控制信号和是( D )
A、00 B、0 1 C、 1 0 D、 1 1
25、芯片8288在8086CPU系统中用作( C )
A、总线锁存器 B、总线驱动器 C、总线控制器 D、总线仲裁器
26、有一静态RAM芯片的地址线为A0~A10,数据线为D0~D3,则该存储器芯片的存储容量为(A )
A、2K×4位 B、1KB(B:字节) C、2KB D、1K×4位
27、有一8086系统的中断向量表,在0000H:003CH单元开始依次存放34H、0FEH、00H和0F0H四个字节,该向量对应的中断类型码和中断服务程序的入口地址分别为( C )
A、0EH,34FE:00F0H B、0EH,0F000:0FE34H C、0FH,0F000:0FE34H D、0FH,00F0H:34FEH
28、8259A可编程中断控制器中的中断服务寄存器ISR用于( A )
A、记忆正在处理中的中断 B、存放从外设来的中断请求信号
C、允许向CPU发中断请求 D、禁止向CPU发中断请求
29、当8255A 工作在方式1的输入状态时,8255A与外设之间的联络信号为( C )
A、IBF、ACK? B、OBF、ACK?? C、IBF、STB?? D、OBF、STB
30、8253可编程定时/计数器的计数范围是(D)
A、0-255 B、1-256 C、0-32768 D、1-65536
31、根据串行通信规程规定,收发双方的( B )必须保持相同。
A、外部时钟周期; B、波特率因子; C、波特率; D、以上都正确
32、8251A用作异步串行通信接口,如果设定波特率因子为16,而发送器与接收器时钟频率为19200Hz,则波特率为( A ) 。
A、1200波特; B、2400波特; C、9600波特; D、19200波特
33、已知AL=7EH, DL=8AH, 执行CMP AL, DL指令后,标志寄存器中C、O、S、Z四标志的状态分别为(A )。
A、0、0、1、0 B、0、1、1、0 C、1、0、1、0 D、1、0、0、0
34、已知BL=08H, DL=0E2H, 执行XOR DL, BL指令后,DL寄存器中的数为( D )
A、132 B、20H C、00H D、0EAH
二、 填空题
1、向8086CPU的NMI引脚发出一个中断请求信号,此信号应在脉冲的 上升 跳变沿时有效。
2、已知BX=0200H,DS=2000H,存储单元(20200H)=21H,(20201H)=43H,(20202H)=65H,则执行MOV AL, [BX+2]指令后AL中内容为 65H 。
3、从应用的角度把半导体存储器分为只读存储器和 随机存储器 。
4、2716为2K*8的EPROM存储器,其起始地址为0B000H,则该存储器的末地址为0B7FFH。
5、I/O
设备传送数据一般分为并行和 串行 两种方式。
6、一个8位单极性D/A转换器的最小输出电压增量为0.02V,当数字量代码为01000001B时,其输出电压为 1.3 V。(U0=0.02(26+1))
7、微型计算机系统总线分为数据总线、 地址总线 和控制总线。
8、微机系统中安装有一片8259芯片,可提供的外部中断信号有 8 个。
9、已知AX=9000H, BX=0FFFFH,当执行ADD AX, BX后,溢出标志位OF应为 0 。(若两个操作数的符号相同,而结果的符号与之相反时OF=1,否则OF=0。)
10、8086/8088CPU响应可屏蔽中断的条件之一是将标志寄存器种的IF= 1 。
11、8086CPU复位时,寄存器CS:IP的值是 0FFFFH:0000H 。
12、设AL=88H,当执行SHR AL,1指令后,AL中的内容为 01000100H 。
13、8255A的 PC 口可实现位控制。
14、输入电压范围为0---+5V的10位A/D转换器,其分辨率为 4.89mv 。
15、CPU和外部设备进行信息交换,必须通过 接口 电路。
16、外部设备向8086/8088CPU申请可屏蔽中断时,中断请求信号是通过其 INTR 引脚进入CPU的。
17、若要使AL寄存器中数据的第0、2位求反,其他位保持不变,可用指令XOR AL,05H 来完成。
18、取指令时,8086会自动选择 CS 值作为段基值,再加上由 IP 提供的偏移量形成物理地址。
19、808 6/8088微处理器被设计为两个独立的功能部件: EU _和 BIU _。
20、 一片8259A可管理_ 8 _级中断,若级联三片从片则可以管理 29 级中断。
21、若DS=1200H,则当前数据段的起始地址是 12000H ,末地址是 21FFFH 。
22、系统中数据传送的控制方式有三种,其中程序控制的数据传送又分为 无条件传送方式 、 查询方式 和 中断方式 。
23、.“串行通信”是指数据 数据在一条数据线上按位传送 。在串行通信中有两种基本的通信方式:即 同步通信 和 异步通信 。
24、主机和I/O设备间的数据传送有 程序传送、 DMA和 输入/输出处理机 三种方式,其中 输入/输出处理机方式和 DMA传送过程中CPU无需参与,而是由 DMA 和 输入输出处理机 控制完成。
25、8086系统中,要求各个逻辑段必须从节的整数倍边界开始,即段首地址的低4位总是 0 。将段首地址的高16位地址码称作 段基址 ,存放在相应的 段寄存器 中。
26、80X86系统中,堆栈是遵循 后进先出 原则。
27、在8086最小模式的典型配置中,需 2 片双向总线收发器8286,因为 有16条数据线 。
28、8086/8088系统中I/O端口地址是二进制数 16 位的,可寻址 64K 个端口。每个端口中含 8 位的数据。
三、判断题
1、在8086最小方式的总线读时序图中,在T2时钟周期时,AD0~ADl5总线上有一个高阻态。(√)
2、对于可屏蔽中断的嵌套处理
原则是允许优先级高的中断打断优先级低的中断,允许同级中断相互打断,而不允许优先级低的中断打断优先级高的中断。(√ )
3、8086CPU在收到外部中断请求信号以后,进人中断响应周期,通过IN指令读取中断类型号,从而就可获得中断服务程序入口地址。(×)
4、可编程定时器/计数器,其定时与计数功能可由程序灵活地设定,但由于是由软件控制,在计数过程中必然会占用CPU的时间。(× )
5、指令一般包括两部分:操作码和操作数。(√ )
6、.一个总线周期由一个或若干个指令周期组成。(× )
7、 8086有一个16位标志寄存器,它包含了6个状态标志位和3个控制标志位。(√ )
8 、一片8259A中断控制器最多能接收8个中断源。(√ )
9、 8086CPU的逻辑段允许段的重叠和交叉。(√ )
10、 8086CPU的标志寄存器FR是16位的,每一位都有定义。(× )
11、在8086的主存中,一个字节占用一个存储单元,一个字占用两个相邻的单元,字的高8位放在高地址单元,低8位放在低地址单元。(√ )
12、 8086CPU的AD0~AD15在执行指令时,先传数据,后传地址。(× )
13、OUT IN 0F20H, AL (× )
14、MOV [BX], [AX] ( × )
四、简答题
1、在I/O接口电路中,按主机与外设间传送的信息类型,端口可分为哪几类?CPU对这些端口实行读操作还是写操作?
2、与并行通信相比较,串行通信有什么特点?
3、8086/8088CPU响应任何一种中断时,都会自动的将IF 和TF 标志清零,其目的是什么?
4、当某一中断发生时,CPU 如何能找到相应的中断向量?
5、什么是中断?什么是中断向量?什么是中断向量表?INT24在中断向量表的什么位置?一个完整的中断过程有哪几个步骤?
6、简述8086CPU由哪些寄存器组成。
7、简述8086/8088系统中为什么要使用地址锁存器?
8、为什么说8088CPU为准16为微处理器,而8086CPU为16为微处理器?
9、DAC 0832 有哪几种工作方式,并简述各种工作方式的特点。
10、按总线上传输信息类型区别,可将总线分为哪几类?
11、8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?
12、简述什么是分时复用技术,8086/8088的地址/数据引线为什么要采用分时复用技术?
五、程序分析题
1. MOV AX, 000AH
MOV BX, 0001H
MOV CX, 0002H
TOP: ADD AX, BX
LOOP TOP
INT 3
执行结果:AX= 000CH ,BX= 0001H ,CX= 0 .
2. MOV AL, 40H
ADD AL, AL
ADC AL, AL
ADC AL, AL
INT 3
程序执行结果:AL= 00
响应标志位:CF= 0 ;SF= 0 ;OF= 0
3. 60H为输入口地址,写出如下程序运行后的结果
START: IN AL, 60H
TEST AL, 80H
JZ BR
MOV AH, 0
JMP STOP
BR: MOV AH, 0FFH
STOP: INT 3
执行结果:当AL的D7=
0时,AH= 0FFH
当AL的D7=1时,AH= 0
*4、已知DS=ES=2000H,执行下列程序:
MOV SI, 301H
MOV DI, 300H
MOV CX, 4
LP1: MOV AL, [SI]
MOV [DI], AL
INC SI
INC DI
LOOP LP1
INT 3
程序运行后结果为:(20300H)= , (20301H)=
(20302H)= , (20303H)=
5、读下列程序,指出运行结果并说明程序功能。
ARRR DW 0001H,0002H,003H,0004H,0012H
START: MOV SI, 0
MOV AX, 0
MOV CX, 5
LP: ADD AX, ARRY [SI]
ADD SI, 2
LOOP LP
INT 3
此程序运行后,AX= 001CH H
程序功能为: 累加 。
6、阅读下列程序段,说明该程序段的功能是什么?若AX=0AAFEH。当程序运行完后,DL的值为多少?
MOV CL, 10H
MOV DL, 0
L1: SHL AX, 1
JNC NEXT
INC DL
NEXT: DEC CL
JNZ L1
INT 3I
(1)该程序段的功能是 统计AX寄存器中1的个数。
(2)若AX=0AAFEH。当程序运行完后,DL= 0BH
7、阅读如下程序段,回答提出的问题。
MOV AX,3456
XCHG AX,BX
MOV AX,3456
SUB AX,BX
JE DONE
KK: ADD AX,BX
...
DONE:
该程序段执行完JE DONE语句后,AX= 0 ,ZF= 1 ,IP= DONE 。
8、4 已知,(DS) = 0120H , ( SS ) = 2000H , ( ES) = 0FF2H , ( BX ) = 1000H , ( BP ) = 2000H ,( SI = 3110H , ( SP ) = 1004H ,试写出下面每条指令中存储器操作数的物理地址。
(1) MOV AL,[BX+SI+9000H] DS*16+BX+SI+9000H 0E310H
(2) MOV BX, [BP-18] SS*16+BP-18 21FEEH
(3) ADD SS:[BX+SI-3],AL SS*16+BX+SI-3 2410DH
(4) SUB [SI+BP], CX SS*16+SI+BP 25110H
(5) PUSHF SS*16+SP-2 21002H
9、堆栈指针寄存器SP的初值位1000H,AX=2000H,BX=3000H,试问:
(1) 执行指令PUSH AX 后,SP=0FFEH
(2) 再执行指令 PUSH BX和POP AX后,SP= 0FFEH ,AX=3000H ,BX= 3000H 。
10、程序段执行完后,AX,BX,CX,DX寄存器的内容分别是什么?
START: MOV AX, 01H
MOV BX, 02H
MOV CX, 03H
MOV DX,04H
NEXT: INC AX
ADD BX,AX
SHR DX,1
LOOP NEXT
AX= 05H BX= 10H CX= 00H DX= 00H .
11、判断下面8086汇编程序执行结果:
MOV AX, 0FFFDH
MOV BX, 8000H
ADD AX, BX
HLT
执行结果:AX= 7FFDH BX= 8000H
对应标志位:ZF= 0 SF= 0 OF= 1 CF= 1 PF= 0 AF= 0
12、下面程序段执行完以后,BX的内容是什么?
MOV BX,00FFH
AND BX,0FFFH
OR BX,0F0FH
XOR BX,00FFH
答:BX=0F00H
13、下列程序段完成什么工作?
DAT1 DB 30 DUP(?)
DAT2 DB 10 DUP(?
)
┇
MOV CX,10
MOV BX,20
MOV SI,0
MOV DI,0
NEXT:MOV AL,DAT1[BX][SI]
MOV DAT2[DI],AL
INC SI
INC DI
LOOP NEXT
答:把DAT1+20存储单元开始的10个字节搬到DAT2开始的连续10个存储单元中。
14、写出四条指令,分别能将AX寄存器清零。
答:① MOV AX,0
② AND AX,0
③ SUB AX,AX
④ XOR AX,AX
六、编写程序题
1、 某歌手唱歌,10个评委评分(二进制数),找出一个最低分,存放在MIN单元。请在横线上补全程序。
DATA SEGMENT
PFEN DB 51H,61H,…… ;评委的评分
MIN (DB) ? ;定义变量
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, ( AX )
MOV CX, ( 9 )
MOV SI, OFFSET ( PFEN )
MOV AL, [SI ]
LP1: INC SI
CMP AL, [SI]
JC ( NOCH )
MOV ( AL ), [SI]
NOCH: LOOP LPI
MOV MIN, ( AL )
MOV AH, 4CH
INT ( 21H ) ;结束程序,返回DOS
CODE ENDS
END START
2、 有100个单字节的有符号数,存放在以内存BUF1为首地址的存储区中,要求将其取绝对之后,存入到以内存BUF2为首地址的存储区中。请填写下面程序,完成指定功能。
MOV SI, OFFSET BUF1
MOV DI, OFFSET BUF 2
MOV CX, 100
LP: MOV AL, [SI]
AND AL, 0FFH
JNS NEXT
NEG AL
NEXT: MOV [DI], AL
INC SI
INC DI
LOOP LP
INT 3
3、 以下程序完成对字符串长度的计算,该字符串存储在MSG中,并以$为结尾符,对该串字符计数时结尾字符$不计算在内。计算结果放在CNT单元中。请填写下列程序,完成上述功能。
ORG 100H
MSG DB ‘This is a testing string.’, ‘$’
CNT DW ?
MOV SI , OFFSET MSG
MOV CX, 0
LP: MOV AL , [SI]
CMP AL, $
JE DONE
INC CX
INC SI
JMP LP
DONE: MOV CNT, CX
INT 3
4、已知4500H开始的单元中放有100个单字节带符号数:
(1) 若从头至尾每10个数一组,试编写一程序求每一组的和并依次放于6500H开始的单元中;
(2) 编程统计100个数据中负数的个数和正数的个数分别存放于DX和BX中。
答:(1)LEA BX,[6500H] (2) LEA SI,[4500H]
LEA SI,[4500H] MOV BX,0
MOV CH,10
L1: MOV CL,10 MOV DX,0
MOV AL,0 MOV CX,100
L2: ADD AL,[SI] L1: TEST [SI], 80H 是负数吗?
INC SI JZ L0
DEC CL INC DX 统计负数
JNZ L2 JMP L2
MOV [BX],AL L0: INC BX 统计正数
INC BX L2: INC SI
DEC CH
DEC CX
JNZ L1 JNZ L1
HLT HLT
七、综合题
1、 已知两台PC/XT计算机的串行口COM1已连接好,要求从机用查询方式接收主机发来的字符,每次接收到字符后,直接送显示器。已知状态口地址为3FDH,数据口地址为3F8H。请完善从机接收的处理程序。
REV: MOV DX, (3FDH)
IN AL, (DX)
TEST AL, 01H ;测试有无字符可接收
JZ REV ;无字符,继续查询状态口
MOV DX, (3F8H ) ;有字符,把数据口送DX
IN AL, DX
MOV DL, (AL) ;显示字符
MOV AH, (9)
INT 21H
JMP REV
2、 如图所示,ADC0809通过8255A与CPU相连。已知8255A的A口地址为300H,B口地址为301H,C口地址为302H,控制口地址为303H。以下程序用查询方式读取A/D转换结果。请完善这个程序。
START: MOV AL, 98H
MOV DX, (303H )
OUT DX, AL
MOV AL, 0BH ;选定ADC0809的IN3通道
OUT DX, (AL)
MOV DX, 301H
MOV AL, 10H
OUT DX, AL
NOP
NOP
MOV (DX), 300H
OUT DX, AL
MOV DX, 302H
REPT: IN AL, (DX) ;查询EOC
AND AL, 10H ;EOC为低,A/D未结束
JZ REPT
MOV DX, (301H) ;EOC为高,转换结束,读入转换结果
IN AL, DX
INT 3
3、如图所示,8088系统中扩展一片8255A,PB口外接8个开关键,要求当有键闭合时,统计有几个键闭合,将闭合键的个数存入BL。已知:8255A的PA口地址为218H,PB口地址为219H,PC口地址为21AH,控制口地址为21BH。请完善下列程序。
MOV AL, 82H
MOV DX, 21BH
OUT DX, AL
HER: MOV DX, (219H)
IN AL, DX
CMP AL, ( 0FFH )
JZ HER
NOT AL
MOV CX, (8)
MOV BL, (00H) ;闭合键个数的初值
LP: SHL AL, (1 ) ;逻辑左移一次
JNC LP1
INC (BL) ;闭合键个数加1
LP1: LOOP LP
INT 3
4、 以下程序从8255A的PC0输出连续的方波。设8255A端口地址为300H---303H,PA、PB、PC口工作于输出方式,PC口出PC0外其他引脚输出低电平。填空完成以下程序段。
MOV DX, 303H
MOV AL, 80H
OUT DX, AL
MOV DX, 302H
NEXT: MOV AL, 01H
OUT DX, AL
CALL DELAY
MOV AL, 00H
OUT DX, AL
CALL DELAY
JMP NEXT
5、 某罐头包装流水线,一个包装箱能装24罐,要求每通过24罐,流水线暂停5秒,待封箱打包完毕后再重启流水线。电路原理图如下所示,通道0计数已到信号作为通道1的外部启动信号。设8253地址为320H---323H,通道0作计数器,工作方于方式2;通道1作定时器,定时5秒,工作于方式1;两个通道均按二进制计数。填写完成以下8253初始化程序段。
START: MOV DX, 323H
MOV AL, 14H
OUT DX, AL ;通道0 初始化
MOV DX, 320H
MOV AL, 18H
OUT DX, AL ;写通道0 计数初值
MOV DX, 323H
MOV AL, 72H
OUT DX, AL ;通道1 初始化
MOV DX, 321H
MOV AL, 0 F4H ;计数初值(
定时系数)=要求定时时间/时钟脉冲周期=5/0.001=500
OUT DX, AL ;写通道1 计数初值低8位
MOV AL, 01H
OUT DX, AL ;写通道1 计数初值高8位
6、用0832D/A转换器通过下面程序可以产生一个什么样的连续的电压信号。请画出波形图。
MOV DX, PORTA
MOV AL,0FFH
ROTATE: INC AL
OUT DX,AL
JMP ROTATE
7、(1)某系统中,8253 的端口地址为0B4H~0B7H ,令计数器通道1 工作在方式0,仅用8 位二进制数计数,计数初值为100 ,试进行初始化编程。
MOV AL,00010000B
OUT 0B7H,AL
MOV AL,64H
OUT 0B4H,AL
(2)某片8253 的计数器通道2 工作在方式1 ,按BCD 码计数,计数值为5000,该端口地址为0B4H~0B7H,请初始化编程。
8、用可编程并行接口芯片8255A作为打印机接口。其中端口A工作于方式一,用于向打印机输出打印数据,端口C用作状态口和控制口。
编写程序,打印存储区为1200H~1400H内所有字符的程序。设8255A的口地址分别为端口A:0FFF0H,端口B:0FFFlH 端口C:OFFF2H,控制口:0FFF3H。
9、 某片8255A 的端口地址为00E0~00E3H,设端口A 、B 都工作在方式0 下,A端口输出,, B 口输人,C 口的高4 位输出,C 口的低4 位输人。请对它进行初始化编程。
方式选择控制字为:83H
初始化程序如下:
MOV AL,83H
OUT 0E3H,AL
10、连线如图下图,计算当数字量为0CDH时的输出Vo。
转换一个数据的程序段:
MOV AL , 0CDH
MOV DX,port1
OUT DX, AL
MOV DX, port2
OUT DX, AL