2009-2010(1)微机原理期终考试试题(B卷) - 答案

更新时间:2023-04-05 04:32:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

同济大学课程考核试卷(B卷)- 答案

2009—2010学年第一学期

课号:100202 课名:微机原理及接口技术(双语)考试考查:考试

此卷选为:期中考试( )、期终考试( ■ )、重考( )试卷

年级专业学号姓名得分

一、简答题(35分,每题5分)

1.In the real mode of 8086, show the starting and ending address of each segment located

by the following segment register value.

(1)4500H

(2)0CE00H

解:

(1)Starting Address:45000H,Ending Address:54FFFH

(2)Starting Address:0CE000H,Ending Address:0DDFFFH

2.已知AX=14C6H, BX=80DCH,执行以下程序后,试问。

ADD AX, BX

JNO PROG1

JNC PROG2

JNS PROG3

JMP PROG4

(1)分析标志位S,C,O,Z的取值情况。

(2)指出程序将转向哪个标号?

解:

(1)S=1,C=0,O=0,Z=0。

(2)PROG1

3.How many address inputs and data inputs does the 32K×8bit DRAM device contain?

解:

因为32K=215,因此,Address Inputs的数目为15

而数据宽度为8bit,故Data Inputs的数目为8

4.Contrast a memory-mapped I/O system with an isolated I/O system.

解:

(1)内存映射I/O系统

a)地址空间与存储器重叠;

b)不使用专门的In/Out指令;

c)采用相同的I/O访问和内存访问寻址方式,但对I/O访问很慢。

(2)独立I/O系统

d)地址空间不与存储器重叠;

e)需要专门的In/Out指令,且只能通过AL, AX, EAX寄存器进行数据交换;

f)内存访问寻址方式采用20位地址寻址,而I/O寻址最多16位地址。

5.8086 CPU复位后AX, CS, IP的值是什么?复位后CPU的启动地址又是什么?

第 1 页共7 页

解:

复位后AX和IP的值都是0000H,而CS中的值为0FFFFH。故复位后CPU的启动地址为0FFFF0H。

6.What condition does a logic 1 (high level) on the 8086 ALE pin indicate.

解:

ALE为1(高电位)时表明总线上地址数据有效,即AD0-AD15地址数据复用线上是有效的地址数据,而A16-A19状态地址复用线上是有效的地址数据。该信号用于通知外部锁存器进行地址数据分离。

7.中断服务程序结束时,用RET指令代替IRET指令能否返回主程序,这样做会有什么

后果?

解:

在中断服务程序中,用RET来代替IRET可以返回主程序。因为返回前在堆栈中还保留CS和IP的值。

但是这样做会有问题。因为中断前保留在堆栈中的标志寄存器FLAGS的值没有弹出,这样返回主程序后,可能会引发标志位错误而导致程序流程控制错误。

二、分析与设计题(65分)

8.某微型计算机系统,其CPU地址线为20位,数据线为8位。需扩展内存140KB,其

中RAM为128KB,选用62256(32K×8);ROM为12KB,选用EPROM2732(4K×8),要求内存地址空间从40000H开始连续分配,RAM在低地址,ROM在高地址。(25分)

(1)分别需要多少块ROM和RAM?给出每一块存储芯片的内存地址范围。(10分)

(2)利用74LS138画出存储器地址译码图。要求与CPU三总线有相应的连接。(15分)

解:

(1)因为需要扩展内存140KB,其中RAM为128KB,ROM为12KB。而选用的RAM

芯片62256为32KB,ROM芯片2732为4KB。因此需要62256芯片4块,2732

芯片3块。

而32K的地址范围大小为8000H,其范围为0000H-7FFFH;4K的地址范围大小

为1000H,其范围为0000H-0FFFH。因此每块芯片的地址范围如下:

RAM1:40000H-47FFFH

RAM2:48000H-4FFFFH

RAM3:50000H-57FFFH

RAM4:58000H-5FFFFH

ROM1:60000H-60FFFH

ROM2:61000H-61FFFH

ROM3:62000H-62FFFH

(2)因为RAM芯片为连续配置,可以采用1片74LS138译码器。而62256的地址范

围为32K,因此其地址线位A0-A14。又RAM的总地址范围为40000H-5FFFFH,因

第 2 页共7 页

0141519

而ROM芯片为连续配置,可以采用1片74LS138译码器。而2732的地址范围为4K,因此其地址线位A0-A11。又RAM的总地址范围为60000H-62FFFH,因此

0111219

第 3 页共7 页

9.一个Intel 8254芯片和8位CPU相连接,时钟0、1、2的寄存器以及控制寄存器端

口地址分别为20H、21H、22H和23H,现有10KHz的时钟信号连入8254的CLK0端,且GATE0接高电平。8254的初始化代码如下。

MOV AL,30H

OUT 23H,AL

MOV AL,0E8H

OUT 20H,AL

MOV AL,03H

OUT 20H,AL

请回答如下问题:(20分)

(1)给出Intel 8254的工作模式及其计数初值。(10分)

(2)画出8254的OUT0的输出波形。(10分)

解:

(1)从初始化根据题目要求,控制字为30H,表示采用0#计数器,依次写低8位和

高8位计数值,采用工作方式0和二进制计数。

因此,计数值为03E8H=1000。

(2)因为计数值为03E8H=1000。因此对于10KHz的输入,在输出OUT0在启动计数

第 4 页共7 页

第 5 页 共 7 页 后变低,经过时间10000.110s KHz

后变高。8254的OUT0的输出波形如下。 OUT0

0.020.040.060.080.1

写入计数

值时刻

时间(秒)

10. 已知一个与总线接口的8255A 接口电路如下图所示,其中k0-k7与8255A 端口B 相

连,LED 发光二极管D0-D7及相应的驱动电路与端口A 相连,且已知8255A 的端口地址为83F0H~83F3H 。要求如下。(20分)

(1) 利用门电路和74LS138译码器设计图中所示的译码片选电路,产生满足给定条件的CS 信号。(6分)

(2) 将8255A 的A1、A0、D0-D7、RD 、WR 与总线的信号线进行正确连接。(6分)

(3) 若要将开关k0-k7的状态在对应的LED 二极管D0-D7上随时反映出来,即:若

ki (i=0,…,7)开关闭合,则相应的LED 灯Di (i=0,…,7)点亮。编写一个8086汇编语言程序段,实现对8255A 的初始化及要求的控制功能。(8分)

解:该题答案不唯一。参考答案如下。

(1)可以先把所要求的地址83F0H写成二进制形式1000_0011_1111_0000B,然后选

择不同的地址线连入译码器电路,查看CS端能得到正确的译码即可。

(2)在连线时看这样几个关键连线:ISA总线的A1,A0分别连接到8255A的A1和A0

做片内译码用,IOR信号连接到8255A的RD引脚,IOW信号连接到8255A的WR 引脚,D0…D7数据总线连接到8255A的D0…D7端,地址线连接到译码电路输入,

译码器电路有一个输出连接到CS。

(3)程序:只要求程序段,不要求完整的程序

MOV DX, 83F3H ;控制口地址

MOV AL, 10000010B ;依据8255A控制字对8255A初始化

OUT DX, AL

CALL DELAY ;调用外部的延迟子程序

TEST:

MOV DX, 83F1H ; B口地址

IN AL, DX ;读B口状态

XOR AL, 11111111B ;将B口状态取反

MOV DX, 83F0H ;A口地址

OUT DX, AL ;将取反后的B口状态送到A口,控制LED灯亮

CALL DELAY ;调用外部的延迟子程序

第 6 页共7 页

…..

JMP TEST ;循环执行

第7 页共7 页

本文来源:https://www.bwwdw.com/article/njhl.html

Top