一、 实验目的
<1>熟悉 ROM 芯片和 RAM 芯片在功能和使用方法等方面的相同和差异之处; <2>理解并学习通过字、位扩展技术实现扩展存储器系统容量的方案;
<3>了解如何通过读、写存储器的指令实现对 58C65 ROM 芯片的读、写操作; <4>理解存储器部件在计算机整机系统中的作用。
二、 实验具体步骤和内容
操作步骤(左下角 5 个功能开关设置为 00010)
<1>检查自锁紧插座下方两排的 3 个插针的短接情况,执行写入操作时,用短路子连 接左两个针,执行读出操作时,用短路子连接右两个针。
<2>为两个存储器芯片(标有“EXTR O M H / C S”和“EXTR O M L/ C S”)分配地址空间,把“M EM D C 74LS138”译码器的一个输出信号连接到两个芯片的片选引脚/ C S。本实验选择“MEMDC 74LS138 ”译码器标有“4000~5FFF”的输出信号连接到两个芯片的片选引脚/CS 。 <3>把 2片 58C 65 R O M芯片插到 2个带自锁紧的器件插座并锁紧插座。要注意芯片插 入的方向,带有半圆形缺口的一方朝左。本实验用的 ROM 芯片已经插好。
用 A、E命令向 6116 R AM芯片写入程序和数据,断电后再启动,芯片中的内容将丢失。 用 A、E命令向 58C 65 R O M芯片中写入程序和数据,断电后再启动,芯片中的内容不会改变。
1 1 〉用 E E 命令修改内存 M R AM ( 6116 )区几个存储单元的值并用 D D 命令观察结果。
<1>用 E命令向内存 R AM (6116)区写入数据 E 2000↙
按如下形式键入:
2000 xxxx:2222 (空格)xxxx:3333(空格)xxxx:4444 (空格)xxxx:5555(空格)xxxx:6666(空格)xxxx:7777 (空格)xxxx:8888(空格)xxxx:9999↙
<2>用 D命令从内存 R AM (6116)区读出数据 D 2000↙
屏幕将显示从 2000 内存单元开始的保存的内容,把第 1行数据记录在下表中: 2000: 2222 3333 4444 5555 6666 7777 8888 9999 断电后重新启动教学实验机,再用 D 2000↙命令观察内存单元 2000开始的保存 内容,把第 1行数据记录在下表中: 2000: 0004 FFF9 0030 F7FF 0404 FF7D 0034 FF7B 2 〉用用 A 命令输入一段程序,执行并观察结果。 <1>在命令行提示符状态下输入: A 2000↙
屏幕将显示: 2000:
按如下形式键入:
2000: M VR D R 0,AAAA↙ 2002: M VR D R 1,5555↙ 2004: AN D R 0,R 1↙ 2005: R ET↙ 2006:↙
<2>用 T 命令逐条执行指令 T 2000 ↙
R 0的值变为 AAAA,其余寄存器的值不变。 T↙
R 1的值变为 5555,其余寄存器的值不变。 T↙
R 0的值变为 0000,其余寄存器的值不变。 <3>用 G命令连续运行整个程序 G 2000
运行输入的程序,记录寄存器的内容:
R0=0000, R1=5555
3 〉用 E E 命令改变内存 M R O M ( 58C 65 )区几个存储单元的值并用 D D 命令观察结果。
<1>用 E 命令向扩展的 R O M (58C 65)存储器写入数据(此时两个跳线夹短接在 左侧 短接在 左侧) E 4000↙
按如下形式键入:
4000 xxxx:2222 (空格)xxxx:3333(空格)xxxx:4444 (空格)xxxx:5555(空格)xxxx:6666(空格)xxxx:7777 (空格)xxxx:8888(空格)xxxx:9999↙
说明:xxxx 表示内存单元原来保存的内容。这些操作修改内存单元保存的内容,从 内存地址为 4000 到 4007 的内存单元原来保存的内容修改为输入的新的内容。 请注意,用 E命令向 R O M芯片写入数据的过程中,显示的下一个存储单元的内容 可能不对,但不影响正确的数据写入功能。
<2>用 D命令从扩展的 R O M存储器读出数据(此时两个跳线夹短接在右侧) D 4000↙
屏幕将显示从 4000 内存单元开始保存的内容,把第 1行数据记录在下表中: 4000: 2222 3333 4444 5555 6666 7777 8888 9999 断电后重新启动教学实验机,再用 D 4000↙命令观察内存单元 4000 开始的 保存内容,把第 1行数据记录在下表中: 4000: 2222 3333 4444 5555 6666 7777 8888 4 〉用 A A 、G G 命令向 58C 65 R O M 芯片写入程序并运行
9999 <1>在命令行提示符状态下输入
A 4000↙(此时两个跳线夹短接在左侧) 屏幕将显示: 4000:
按如下形式键入程序指令: 4000: M VR D R 0,AAAA↙ 4002: M VR D R 1,5555↙ 4004: AN D R 0,R 1↙ 4005: R ET↙ 2006:↙
〈2〉用 U 4000命令查看输入的程序,查看前两条指令的指令字内容是否有错 M VR D R 0,AAAA指令字的十六进制编码应为:8800H和 AAAAH M VR D R 1,5555指令字的十六进制编码应为:8810H和 5555H 〈3〉如果第<2>步指令字的编码内容有错,用 E命令修改,例如:
通过 E4000命令把 8800写到 4000单元,通过 E4003命令把 5555写到 4003 单元,等等;如果没有错,直接进入下一步
〈4〉再用 U 4000命令查看输入的程序,重复第<2>和<3>步,直到指令正确
〈5〉把两个跳线夹短接在右侧,用 G命令运行刚输入的程序 (不能用 T命令运行 R O M存储器中的程序) G 4000
运行输入的程序,记录各寄存器的内容:
R0=0000, R1=5555
5 〉将程序放到 RAM(6116)中,调用延时子程序,访问 58C65 ROM 中的内存地址。 下面给出的程序,用 A2000 命令从 2000H 单元开始输入主程序: (2000)MVRD R0,AB00
MVRD R2,0010 ;R2 记录循环次数
MVRD R3,5000 ;R3 的内容为 16 位内存地址
(2006)STRR [R3],R0 ;将 R0 寄存器的内容放到 R3 给出的内存单元中 CALA 2200 ;调用程序地址为 2200 的延时子程序 INC R0 ;R0 加 1 INC R3 ;R3 加 1 DEC R2 ;R2 减 1
JRNZ 2006 ;R2 不为 0 跳转到 2006H RET
用 A2200 命令从 2200H 单元开始输入延时子程序: (2200)PUSH R3 MVRD R3,FFFF (2203)DEC R3 JRNZ 2203 POP R3 RET
把两个跳线夹短接在左侧,运行主程序,在命令提示符下输入:G2000↙。等待约 1 分钟,程序执行结束后,把两个跳线夹短接在右侧,在命令提示符下输入:D 5000 ↙;记录从 5000H 开始的内存单元保存的内容(前两行数据):
5000: AB00 5008: AB08
AB09 AB0A AB0B AB0C AB0D AB0E AB0F AB01 AB02 AB03 AB04 AB05 AB06 AB07 三、 实验体会
本次实验相对简单,按照步骤一步一步来,实验结果很快出来了。主要问题是在动手过程中忘记换跳线夹的位置以及断电重启后不知如何进行下一步。最终经过小组成员的商讨,这些问题都解决了。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务