
一、单项选择题(每题2分,共计10分)
1、8086CPU芯片的外部引线中,数据线的条数为(C )
(A)6条(B)(C)16条(D)20条
2、当8086CPU 读写内存的一个规则(对准)字(16位)时,BHE*和A0的状态必须是(A )(A)00 (B)01 (C)10 (D)11
3、8255工作在方式0时,下面哪种说法正确( D )
(A)A、B、C三个口输入均有锁存能力(B)只有A口输入有锁存能力
(C)只有C口输入有锁存能力(D)A、B、C三个口输入均无锁存能力4、在8088CPU中, 用于寄存器间接寻址输入输出指令的寄存器是(D )
(A)AX (B)BX (C)CX (D)DX
5、在8253的6种工作方式中,能够自动重复工作的两种方式是( C )。
(A)方式1,方式2 (C)方式2,方式3
(B)方式2,方式4 (D)方式3,方式5
二、填空题(每空2分,共计30分)
1、[X]补=0076H,[Y]补=0FF8AH,则[X+Y]补=0000H,[X-Y]补= 00EC H
2、8088CPU中总线接口部件的功能是负责执行所有的外部总线周期,提供系统总线控制信号,形成20位的物理地址。
3、8088CPU执行55H与ABH两个数加法运算,运算结果的标志位SF= 0 ,CF=
1 ,ZF= 1 ,OF= 0 。
4、8086 CPU对I/O端口的编址是采用编址方式。
5、CPU执行IN、OUT指令,在硬件上会使_WR*、RD*和M/IO*信号有效。
6、说明下列源操作数和目的操作数所采用的寻址方式及相关数据所属段:
MOV ES:[2045H],AX
源操作数寻址方式:寄存器寻址、目的操作数寻址方式:直接寻址。
7、若(BX)=1568H,(SI)=650AH,位移量=300,(DS)=1628H,试确定采用BX和SI 的相对基址加变址寻址方式时有效地址为7B9EH ,物理地址为1DE1EH 。
三、简答题(每题5分,共计20分)
1、什么是指令周期?总线周期?时钟周期?它们之间有什么关系?
(1)指令周期:CPU完整地执行一条指令所需要的时间;
(2)总线周期:CPU通过其系统总线对存储器或接口进行一次访问所需的时间;
(3)时钟周期:加在CPU芯片引脚CLK上的时钟信号的周期,也成为T状态。
(4)关系:1个指令周期可以分为若干个总线周期,1个基本的总线周期由4个T状态(时钟周期)实现。
2、简述CPU响应并处理一次中断的全过程。
中断请求——>中断排队——>中断响应——>中断处理——>中断返回(省略细节,请参考教材)
3、现有2Kⅹ4的RAM芯片和1Kⅹ8位的ROM芯片,现欲设计1个16Kⅹ8的存储区,其中RAM区域为8KB,ROM区域为8KB,请回答下列问题:
(1)需要RAM芯片和ROM芯片各多少个?需RAM芯片8片,需ROM芯片8片。
(2)分为多少个芯片组?分为12个芯片组。
(3)RAM和ROM片内译码分别需要多少根地址线。RAM片内译码需要11根地址线,ROM片内译码需10根地址线。
4、8086能够直接访问的存储空间最大为多少?怎样用16位寄存器实现对20位地址的寻址?
(1)8086能够直接访问的存储空间最大为1MB
(2)通过分段方式并采用逻辑地址来实现对20为地址的寻址。8086提供了4个段寄存器,将段基址放在段寄存器中,段基址的最低四位规定为0,因此在存储时只需要存储前16位,在获取真实地址时通过后面补0扩展为20位,再加上其相应偏移即可得到实际的物理地址。
四、程序分析题(共20分)
1、自偏移地址为1000H单元开始,有100个各不相等的带符号数(字节),编写程序实现如下功能:
从该100个数中查找最大的负偶数,如果找到,则将该数和该数的偏移地址存放在1100H开始的单元中;若没有找到,则将数0和偏移地址0000H存储至1100H开始的单元中(15分,要求画出程序流程图并写出完整的程序,存放结果信息时先放数据再放偏移地址)。
DA TA SEGMENT
BUF DB 100 DUP(?)
DA TA ENDS
STACK SEGMENT
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA,SS:STACK START: MOV AX, DA TA
MOV DS, AX
MOV CX, 100
MOV BX, 0000H
MOV AH, 0
LEA SI, BUF AGAIN: MOV AL, [SI]
CMP AL,0
JNS L1
TEST AL, 01H
JNZ L1
CMP AH, 0
JZ L2
CMP AL, AH
JS L1
L2: MOV AH, AL
MOV BX, SI
L1: INC SI
LOOP AGAIN
MOV [1000H], AH
MOV [1001H], BX
MOV AH, 4CH
INT 21H CODE ENDS
END START
2、某系统中8253占用地址为100H~103H 。初始化程序如下:(5分)
MOV DX , 103H
MOV AL , 16H
OUT DX , AL
SUB DX , 3
OUT DX , AL
试问:
(1)此段程序是给8253的哪一个计数器初始化?安排工作在哪种工作方式? (2分)
此段程序是给8253的计数器0进行初始化,安排工作在方式3下。
(2)若该计数器的输入脉冲的频率为1.1MHZ ,则其输出脉冲的频率为多少?(3分) 初始化地址指针SI
初始化循环次数CX
AH<——0
BX<——0000H
开始
取数——>AL
AL<0
AL 为偶
BX<——SI
AH=0
SI<——SI+1
AL>AH
Y
Y
N
循环结束
Y N AH<——AL
Y N N [1100H]<——AH [1101H]<——BX
结束
五、应用题(共计20分)
利用8255A连接两位LED数码管,硬件连接如图所示。在存储区偏移地址为2000H单元存储一组合BCD数。试回答如下问题,并编写程序实现该组合BCD码数字的持续显示,高半字节显示在左边,低半字节显示在右边。(设0~F的字形码为:3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH)
1、8255A端口A的地址为:FF98H ;端口B的地址为:FF99H ;控制端口地址为:FF9BH 。
2、要完成上述工作,8255应该工作在方式:方式0 。
A15~A
A5
A EN
MOV DX, 0FF9BH
MOV AL, 10001001B
OUT DX, AL ;初始化8255A
AA: MOV AL, [2000H] ;取代显示的内容
MOV CL, 04H
SHR AL, CL
MOV BX, O FFSET LEDTAB ;七段码的首地址送BX
XLAT ;显示值转换成七段码
MOV DX, 0FF99H
OUT DX, AL ;显示高半字节内容
MOV AL, [2000H]
AND AL, 0FH ;取出低半字节
XLAT
MOV DX, 0FF98H
OUT DX, AL ;显示低半字节内容
JMP AA
LEDTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH
