微机原理及接口技术-习题答案汇编 下载本文

学习-----好资料

20. 编程,在数据段DATA1开始的80个连续的存储单元中,存放80位同学某门课程

的考试成绩(0~100)。编写程序统计成绩≥90分的人数,80~89分的人数,70~79分的人数,60~69分以及<60分的人数。将结果存放到DATA2开始的存储单元中。

解:DATA SEGMENT

DATA1 DB 80 DUP(?) ;假定学生成绩已放入这80个单元中 DATA2 DB 5 DUP(0) ;统计结果的存放单元 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV CX,80 ;统计80个学生的成绩

LEA SI,DATA1 LEA DI,DATA2

AGAIN: MOV AL,[SI] CMP AL,90 ;与90比较

JC NEXT1 ;小于90分,转NEXT1 INC BYTE PTR [DI] ;否则90分以上的人数加1

JMP STO ;转循环控制处理 NEXT1: CMP AL,80 ;与80比较

JC NEXT2 ;小于80分,转NEXT2

INC BYTE PTR[DI+1] ;否则80分以上的人数加1 JMP STO

NEXT2: CMP AL,70 ;与70比较 JC NEXT3 ;小于70分,转NEXT3

INC BYTE PTR [DI+2] ;否则70分以上的人数加1

JMP STO

NEXT3: CMP AL,60 ;与60比较

JC NEXT4 ;小于60分,转NEXT4

INC BYTE PTR [DI+3] ;否则60分以上的人数加1 JMP STO ;转循环控制处理 NEXT4 NEXT4: INC BYTE PTR [DI+4] ;60分以下的人数加1 STO: INC SI ;指向下一个学生成绩 LOOP AGAIN ;循环,直到所有成绩都统计完 MOV AH,4CH ;返回DOS INT 21H CODE ENDS

END START

更多精品文档

学习-----好资料

第五章习题及答案

1. 半导体存储器按照工作方式可分为哪两大类?它们的主要区别是什么? 答:(1)半导体存储器按照工作方式可分为ROM 和 RAM 。

(2)它们之间的主要区别是:

ROM在正常工作时只能读出,不能写入。RAM则可读可写。 断电后,ROM中的内容不会丢失,RAM中的内容会丢失。

2. 静态RAM和动态RAM的存储元的工作原理是什么? 动态RAM为什么需要定时刷新?

答:(1)静态RAM的存储元的工作原理是利用双稳态触发器的工作原理保存信息; 动态RAM的存储元的工作原理是把电荷存储到电容中来实现信息存储。

(2)DRAM的存储元以电容来存储信息,由于存在漏电现象,电容中存储的电荷会逐渐泄漏,从而使信息丢失或出现错误。因此需要对这些电容定时进行“刷新”。

3. 存储器的地址译码方法有哪两种方式?

答:存储器的地址译码方法有:全地址译码和部分地址译码两种。

4. 什么是位扩展?什么是字扩展?

答:(1)当存储芯片每个单元的字长小于所需内存单元字长时,需要用多个芯片构成满足字长要求的存储模块,这就是位扩展。

(2)当存储芯片的容量小于所需内存容量时,需要用多个芯片构成满足容量要求的存储器,这就是字扩展。

5. 设计一个4KB ROM与4KB RAM组成的存储器系统,芯片分别选用2716(2K×8)和6116

(2K×8),其地址范围分别为4000H~4FFFH和6000H~6FFFH,CPU地址空间为64K,画出存储系统与CPU连接图。

答:分析:2716(2KX8) 11根地址线 A0~~A10

6116(2KX8) 11根地址线 A0~~A10 CPU:64K= 26X210 16根地址线 A0~~A15

分别需芯片个数:

2716: 4KX8/ 2KX8=2 6116: 4KX8/ 2KX8=2

更多精品文档

学习-----好资料

将地址展开成二进制:① 4KB的ROM地址空间 4000H~4FFFH

A15 A14 A13 A12 A11 A10…..A0 0 1 0 0 0 0…… 0 0 1 0 0 0 1……1 0 1 0 0 1 0……0 0 1 0 0 1 1 ……1

2716(2KX8):2片

第一片 地址范围:4000~~47FFH 第二片 地址范围:4800H~~4FFFH ②4KB的RAM地址空间:6000H~6FFFH

A15 A14 A13 A12 A11 A10…..A0 0 1 1 0 0 0……0 0 1 1 0 0 1……1 0 1 1 0 1 0……0 0 1 1 0 1 1 ……1

6116(2KX8):2片

第一片 地址范围:6000~~67FFH 第二片 地址范围:6800H~~6FFFH

利用:CPU 的剩余地址线A15~A11,使用3:8译码器进行全地址译码,生成片选信号#Y0 、#Y1、#Y4、#Y5,为四个芯片使用。 C B A # Y A15 A14 A13 A12 A11

0 1 0 0 0 #Y0 0 1 0 0 1 #Y1 0 1 1 0 0 #Y4 0 1 1 0 1 #Y5

存储系统与CPU连接图如下图所示:

更多精品文档

学习-----好资料

D0~D7 A0 A10 MEMR D0~D7 A0 A10 2716 WE A0 A10 D0~D7 … … … MEMW D0~D7 A0 A10 MEMR MEMW A14 MEMW A15 … … OE R/WD0~D7 A0 A10 6116 OE … CE 2716 OE CE WE CS D0~D7 A0 A10 6116 OE CS R/W… … … … G 1 G 2A G 2B C B A 74LS138 Y0 Y1 Y4 Y5 A13 A12 A11

6. 试利用全地址译码将6264芯片接到8088系统总线上,使其所占地址范围为32000H~

33FFFH。

答:将地址范围展开成二进制形式如下图所示。

0011 0010 0000 0000 0000 0011 0011 1111 1111 1111

6264芯片的容量为8K×8,需要13根地址线A0~A12。而剩下的高7位地址应参加该芯片的地址译码。 电路如图所示:

更多精品文档

学习-----好资料

8088系统 BUSD0~D7A 0 A 12MEMW MEMR SRAM 6264 D0~D7 A 0 A 12WE CS2 OE · · ·+5V A 19 18A A17 A16 A15 A14 A13 & CS1

7. 若采用6264芯片构成内存地址从20000H~8BFFFH的内存空间,需要多少片6264芯

片?

答:从20000H~8BFFFH的内存空间共有8BFFFH-20000H+1=6C000H(432K)个字节,每个6264芯片的容量位8KB,故需432/8=54片。

8. 设某微型机的内存RAM区的容量为128KB,若用2164芯片构成这样的存储器,需多少

2164芯片?至少需多少根地址线?其中多少根用于片内寻址?多少根用于片选译码? 答:

(1)每个2164芯片的容量为64K×1bit,共需128/64×8=16片。 (2)128KB容量需要地址线17根。 (3)16根用于片内寻址。 (4)1根用于片选译码。

注意,用于片内寻址的16根地址线要通过二选一多路器连到2164芯片,因为2164芯片是DRAM,高位地址与低位地址是分时传送的。

9. 高速缓冲存储器的工作原理是什么?为什么设置高速缓冲存储器? 答:(1)高速缓冲存储器的工作原理是基于程序和数据访问的局部性原理。 (2)设置高速缓冲存储器为了缓解CPU和内存之间存取速度的矛盾,将当前正在执

行的指令及相关联的后继指令集从内存读到Cache,使CPU执行下一条指令时,从Cache中读取。Cache的存在使CPU既可以以较快的速度读取指令和数据,又不至于使微机的价格大幅提高。

10. 现有两片6116芯片,所占地址范围为61000H~61FFFH,试将它们连接到8088系统

中。并编写测试程序,向所有单元输入一个数据,然后再读出与之比较 ,若出错则显示“Wrong!“,全部正确则显示”OK!“。

更多精品文档