2017年中原工学院电子信息学院微型计算机原理及应用复试之微型计算机原理及应用复试实战预测五套卷
● 摘要
一、解答题
1. 此微型机的控制字有几位?各位的意义是什么?
【答案】(1)此微型机的控制字有28位,可以表示为
(2)
:“装入”的可控门;
:控制跳转地址接收;
:加1指令助记符;控制控制矩阵产生控制字;
:“输出”的可控门;:“计数”的控制端;
:通过其组合控制ALU 的运算;
:减1指令助记符;
2. “8086执行了一个总线周期”是指8086作了哪些可能的操作?基本总线周期由几个T 状态组成,如何标记?
【答案】(1)8086执行了一个总线周期,至少需要有传送地址和传送数据两个过程。在每一个总线周期的第一个时钟周期期间,CPU 输出地址,随后的3个T 周期(
据。
(2)—个基本总线周期由4个T 状态组成,标记为和
3. 存储器的每一个段最多为64KB ,当程序运行后,4个段寄存器的内容分别为CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H;其中在DS 段有一操作数,其偏移地址=0204H,求:
(1)指出各段首地址和末地址。
(2)求该操作数的物理地址。
(3)画出各段在内存中的分布。
【答案】存储器的每一个段最多为64KB ,每个段的段末地址在段起始地址的基础上增加了64K-1=0FFFFH个字节。
(1)4个段的段首地址和末地址分布为如下。
代码段:
首地址=1055H×10H+0H=10550H
末地址=10550H+0FFFFH=2054FH
数据段:
首地址=250AH×10H+0H=250A0H
末地址=250A0H+OFFFFH=3509FH
附加段:
)用以传送数
首地址=2EF0H×10H+OH=2EF00H
末地址=2EF00H+OFFFFH=3EEFFH
堆栈段:
首地址=8FF0H×10H+0H=8FF00H
末地址=8FF00H+OFFFFH=9FEFFH
代码段可寻址的存储空间范围是:10550H 〜2054FH 。
数据段可寻址的存储空间范围是:250A0H 〜3509FH 。
附加段可寻址的存储空间范围是:2EF00H 〜3EEFFH 。
堆栈段可寻址的存储空间范围是:8FF00H 〜9FEFFH 。
(2)该操作数的偏移量=0204H,其物理地址=250A0H+0204H=252A4H。
(3)各段在内存分布如图所示。从该分配图中我们可以看到,数据段和附加段是有部分重叠的。而其佘各段是有间隔的。
图 存储器分配图
4. 三字节的压缩BCD 码存放在YBCD 存储单元中,编写程序该数的加1功能,结果还是存放在原存储单元中。
【答案】加法调整指令DAA 用来对AL 的中间结果进行修正,三字节的压缩BCD 数的运算必须由低位向高位逐个对BCD 数进行运算和修正。
程序如下:
LEA SI, YBCD
MOV AL, [SI]
ADD AL, 1
DAA
MOV [SI], ALINCSI
MOV AL, [SI]
ADC AL, 0
DAA
MOV [SI], ALINCSI
MOV AL, [SI]
ADC AL, 0
DAA
MOV [SI], AL
5. 程序中数据定义如下:
则执行指令:
【答案】(1)MOV AX, TYPERE SULT
RESULT 的值为1后,AX=1。
(2)MOV BX, LENGTH TABLE
LENGTH 运算符返回的值是指数组变量的元素个数,是用重复数据操作符DUP 说明的,返回外层DUP 给定的值,因此LENGTH ARRAY的值是20,BX=20=14H。
(3)MOV CX, SIZE ARRAY
SIZE 运算符的运算结果是返回数组变量所占的总字节数,也就是等于LENGTH 和TYPE 两个运算符返回值的乘积。LENGTH ARRAY=1, TYPE ARRAY=1, 因此SIZE ARRAY 的值为1×1=1, CX=0001H。
示意图如图所示。
TYPE 运算符的运算结果是返回反映变量一个数值。ARRAY 变量是字变量DB ,因此TYPE
分配示意图