实验五 存储器扩展实验
一、存储器芯片62256引脚介绍:

62256共有15根地址线A0-A14,存出大小为32KB;八条双向数据线D0-D7,共8bit; C E ‾ \overline{CE} CE片选信号引线; W E ‾ \overline{WE} WE写允许信号,当 W E ‾ = 0 \overline{WE}=0 WE=0时,允许将数据写入芯片; O E ‾ \overline{OE} OE输出允许信号,当 O E ‾ = 0 \overline{OE}=0 OE=0时,允许该芯片将某单元的数据送到芯片外部的D0-D7上。
二、 使用两片62256扩充RAM空间为10000H-1FFFFH
分析:
1.8086CPU数据地址线不能直接和外部芯片进行传送数据,故添加锁存器。
2.由于62256为32KB * 8bit,而8086CPU共有16位数据线,故利用两个62256芯片进行位扩充,变成64KB * 16bit。位扩充功能由BHE和A0共同完成,偶地址的数据内容存放在一个芯片,奇地址的数据内容存放在另一个芯片。

3.10000H-1FFFFH高四位地址线A19-A16参与译码电路,要求其为0001时选中两个62256芯片中的一个。
锁存器说明:
74LS273和74LS373均为地址锁存器。在最小模式下,8086CPU的20条地址线和1条BHE信号线用三片74LS373或74LS273锁存器形成,从而形成地址总线信号。
双向数据总线用2片74LS245形成。利用最小模式下8086CPU提供的DEN和DT/R分别控制2片74LS245的允许端和方向控制端,从而实现16位的双向数据总线D0-D15。
电路连接图:

三、编制程序,将字符1~8循环写入上述的10000H-10FFFH中,将9写入11000H-12FFFH中。将11000H-12FFFH中的内容搬移到14000H-15FFFH中。
汇编代码:
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,1000H
MOV DS,AX ;设置数据段地址
MOV AL,1
MOV BX,0000H
MOV CX,1000H ;循环次数
MOV [BX],AL
JMP M1
;1~8循环写入10000H-10FFFH
ZERO:
MOV AL,1
M1:
MOV [BX],AL
INC BX
INC AL
CMP AL,8
JA ZERO
LOOP M1 ;循环次数CX的值
;将9写入11000H-12FFFH
MOV AL,09H
MOV CX,2000H
MOV BX,1000H ;偏移地址1000H
M2:
MOV [BX],AL
INC BX
LOOP M2
;将11000H-12FFFH内容移到14000H-15FFFH
MOV BX,1000H
MOV CX,2000H
TRANS:
MOV AL,[BX] ;读入
ADD BX,3000H
MOV [BX],AL
SUB BX,3000H
INC BX
LOOP TRANS
HLT
CODE ENDS
END START
实验截图:





