收藏 分销(赏)

微机-实验6.pdf

上传人:快乐****生活 文档编号:4752859 上传时间:2024-10-12 格式:PDF 页数:10 大小:1.66MB
下载 相关 举报
微机-实验6.pdf_第1页
第1页 / 共10页
微机-实验6.pdf_第2页
第2页 / 共10页
微机-实验6.pdf_第3页
第3页 / 共10页
微机-实验6.pdf_第4页
第4页 / 共10页
微机-实验6.pdf_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、实验六实验六 存储器扩展实验存储器扩展实验一、一、实验要求实验要求利用 PROTEUS 平台,进行存储器扩展。要求按照图 6-1 画图,并编写程序,实现存储器的写操作和读操作。要求从头到未组织一遍,包括建立 asm 文件,建立 DSN 文件,生成 EXE 文件(参阅本册实验指导 P1520 页内容)。二、实验目的二、实验目的1、熟练掌握 Proteus 软件的使用。2、理解存储器扩展原理及编程技巧。3、加深对存储器读写的理解。三、实验内容三、实验内容【实验内容实验内容 1】在 Proteus 环境中完成程序仿真:程序要求把内存中一数据区(称为源数据块)传送到内存另一数据区(称为目的数据块)。源

2、数据块和目的数据块在存贮中可能有三种情况,如下图所示。分析上面三种情况的存贮分析上面三种情况的存贮:对于两个数据块分离的情况:如图(a):数据的传送从据块的首址开始,或者从数据块的末址开始均可。如图(b):若是数据的传送从据块的首址开始,则将会出现数据块的重叠覆盖,即在移动完成后,目的数据块的首址开始存放的几个连续数据和末址之前的几个数据重复,从而造成源数据块末址的一些数据丢失,因此,数据的传数据的传送从数据块的末址开始送从数据块的末址开始;如图(c):数据的传送从据块的首址开始,数据的传送从据块的首址开始,分析与图 b 的相反,若是数据的传送从据块的首址开始,其丢失的数据将是源数据块首址的一

3、些数据。可以得出如下结论:当源数据块首址大于大于目的块首址时,从数据块首地址首地址开始传送数据。当源数据块首址小于目的块首址时,从数据块末址末址开始传送数据。(1)仿真 8086 存储块数据移动原理图6-1 Proteus 中仿真 8086 存储块数据移动原理图(2)程序流程图是开始设置块的长度设置块目的地址从源地址取数据保存到目的地址目的、源地址+1是否移动完成结束否程序:CODE SEGMENT ASSUME CS:CODESTART:MOV AX,0 ;将 ds 段赋值为 0,则将从 ds 段的第 0 个地址开始 MOV DS,AXMOV SI,1000H ;将指针指向物理地址为 100

4、0h 处;MOV CX,100 ;由于要存入 100 个字节,则在 cx 中赋值 100,将会在下面的语句中用到MOV AL,1 ;从一开始赋值;-给从物理地址为 1000h 开始的地址赋值-PU_IN:MOV SI,AL;先存入 1000H 开始的 100 个字节数据为 1 到 100INC ALINC SILOOP PU_INMOV CX,100;由于后面部分会重新利用这些数据及地址,因此需要重新定义 MOV SI,1000H MOV DI,1100H;-开始移动数据-FADR:MOV AL,SIMOV DI,AL INC SI INC DI DEC CX JNE FADR JMP$;-结

5、束-CODE ENDS END START3、实验报告要求:、实验报告要求:(1)说说程序在对那些存储器单元(物理地址表示)进行移动数据,以及整个程序的功能是什么?理论分析:程序在对物理地址为(01000h-01063h)的数据移动到物理地址为(01000h-01063h),一共 100 个数据。顾名思义,程序的功能就是对数据块进行移动。仿真结果如下图所示:(证实了理论分析的结果)(2)修改参考程序,完成将地址从 2300H 单元开始的 1000 个存储单元的数据(数据从 100 到 1100 之间从小到大顺序排列。请回答请回答,这一千个存储单元最终存放了 100 到哪个数据之间的数据?)移动

6、到 2000H 单元开始的存储区存放功能。答:由于源地址从 2300h 开始,而目的地址从 2000h 开始,根据实验前的分析,选择从数据块首地址首地址开始传送数据。理论分析(这一千个存储单元最终存放了 100 到哪个数据之间的数据?):由于在代码中,我们利用 al 赋值,其数据范围在 0-ffh 之前,故这一千个存储单元最终存放了 100 到 225 再 0 到 100 这些数据之间的数据。修改后程序如下:CODE SEGMENT ASSUME CS:CODESTART:MOV AX,0 ;将 ds 段赋值为 0,则将从 ds 段的第 0 个地址开始 MOV DS,AXMOV SI,2300

7、H ;将指针指向物理地址为 2300h 处;MOV CX,1000 ;由于要存入 1000 个字节,则在 cx 中赋值 1000,将会在下面的语句中用到MOV AL,100 ;从 100 开始赋值;-给从物理地址为 2300h 开始的地址赋值-PU_IN:MOV SI,AL;先存入 2300H 开始的 1000 个字节数据为1002250100(由于 al 的数据范围,当超出此范围时,有进位,但进位只在 al 中显示剩余部分,也就有 0100 的数据)INC ALINC SILOOP PU_INMOV CX,1000;由于后面部分会重新利用这些数据及地址,因此需要重新定义 MOV SI,230

8、0H MOV DI,2000H;-开始移动数据-FADR:MOV AL,SIMOV DI,AL INC SI INC DI DEC CX JNE FADR JMP$;-结束-CODE ENDS END START仿真结果:红色部分为移动后的结果(2000h23e8h)(3)把这些程序放在 emu8086 中去远行,会有什么效果?对比一下这两个软件。emu8086 中运行结果如图所示:对比两个软件运行的结果可知,emu8086 可以显示的地址范围较小,为0h7fh,而 proteus 地址范围大,可以一次性观察。【实验内容实验内容 2】扩展扩展 8086 存储系统,要求用两片存储系统,要求用两片

9、 6264(8KB)扩展连续的)扩展连续的 16KB 的存储单的存储单元,地址从元,地址从 8000H 开始。开始。(1)存储器奇偶存储体扩展图:存储器奇偶存储体扩展图要求 2:编程实现使扩展的存储芯片 U1、U6 内容显示如图 6-3、6-4 所示。要求通过字操作和字节操作两种方法实现要求。参考程序(参考程序(com 结构,按字节实现)结构,按字节实现)ORG 0100H ;该指令把位置计数器的值设置成表达式的值.MOV CX,0065H;循环 101 次MOV DX,0000H;置初值MOV BX,7fffH;MOV AX,0000H;MOV DS,AX ;DS 置零SIM:MOV BX,

10、DL INC DLINC BXLOOP SIMINT 3H ;停止在 INT 3H仿真结果如下:程序(程序(com 结构,按字实现)结构,按字实现)ORG 0100HMOV CX,01FFH;循环 100 次MOV DX,0000H;置初值MOV BX,8000H;起始地址为偶数,因此作为按字访问时,是对准状态:低 8 位在偶地址体重,高 8 位在奇地址体中MOV AX,0000H MOV DS,AX ;DS 置零SIM:MOV BX,DX INC DXINC BXINC BXLOOP SIMINT 3H ;停止在 INT 3H 仿真结果如下:其中低 8 位在偶地址体重,高 8 位在奇地址体中

11、回答如下问题:(1)两片 6264 的片选信号(CE 和 CS)是如何产生的?他们的地址范围是多少?答:CE 的产生:在此题目中,ce 的产生是由 74ls138 译码器中的 y0 输出而来,且在低电平有效。而 y0 的低电平输出决定于 AD14,。因此当AD14 为低电平的时候,经过译码器之后将会使得 ce 有效;CS 的产生:cs 在高电平的时候有效,即选片有效。它的高低电平取决于 BHE 以及 AD0。当为低电平的时候,奇存储体的为高电平,即选片为奇地址存储体;当 ad0 为低电平的时候,选片为偶地址存储体。一片的 6264 大小为 8k=213=2000H,则两片的地址大小为 400

12、0h,又由于从 7fffh 开始,故地址范围为 7fffh-bfffh。(2)他们的数据线为何连接不同?答:为了使得物理性质一模一样的 6264 分别作为奇地址存储体和偶地址存储体,所以偶地址存储体数据将在 D7-D0 上传输;奇地址存储体数据在 D8-D15 传输。(3)地址线为何不直接与 CPU 的 AD0 相连?AD0 作为体信号连接偶地址存储体。(4)图 6-2 中 6264 的外部地址从 8000H 开始,编程时应该怎么写?此时仿真时 U4 O7 引脚为什么出现高电平?答:试验中已经将参考代码改了。在 74ls138 译码器中,只有在 E1为高电平的时候才能有有效输出。(5)如果 6

13、264 的外部地址从 C000H 开始,图中应作哪些修改?答:由于 C000H=1100 0000 0000 0000B,则应该使 AD14=1,根据74ls138 的真值表可得此时 y7 输出有效,故应该改成出下图即可:要求 3:请写出读存储器 6264 中数据的程序。程序如下:CODE SEGMENT ASSUME CS:CODESTART:ORG 0100H ;该指令把位置计数器的值设置成表达式的值.MOV CX,0065H;循环 101 次 MOV DX,0000H;置初值 MOV BX,7fffH;MOV AX,0000H MOV DS,AX ;DS 置零SIM:MOV BX,DL INC DL INC BX LOOP SIM MOV CX,101 MOV BX,7fffH MOV DI,1100H;FADR:MOV AL,BXMOV DI,AL INC BX INC DI DEC CX JNE FADR JMP$CODE ENDS END START

展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服