微机原理及接口技术习题及答案 ·21·
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
·22· 微机原理及接口技术习题及答案
第五章习题及答案
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
微机原理及接口技术习题及答案 ·23·
将地址展开成二进制:① 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连接图如下图所示:
·24· 微机原理及接口技术习题及答案
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位地址应参加该芯片的地址译码。 电路如图所示: