微机实验一到八答案(5)

2020-02-21 22:23

实验六存储器扩展实验

一、实验要求 利用PROTEUS平台,进行存储器扩展。要求按照图6-1画图,并编写程序,实现存储器的写操作和读操作。要求从头到未组织一遍,包括建立asm文件,建立DSN文件,生成EXE文件(参阅本册实验指导P15~20页内容)。

二、实验目的

1、熟练掌握Proteus软件的使用。 2、理解存储器扩展原理及编程技巧。 3、加深对存储器读写的理解。

三、实验内容 【实验内容1】

在Proteus环境中完成程序仿真:程序要求把内存中一数据区(称为源数据块)传送到内存另一数据区(称为目的数据块)。源数据块和目的数据块在存贮中可能有三种情况,如下图所示。

当源数据块首址大于目的块首址时,从数据块首地址开始传送数据。当源数据块首址小于目的块首址时,从数据块末址开始传送数据。(这是为什么?)

答:当源数据块首址小于目的块首址时,为防止数据段过长,超出源数据块首址和目的块首址之间的差值,造成数据传输过程中使源数据端的部分数据被改变,所以从源数据块末址开始传输。

步骤1:在Proteus中打开一个空白设计文档,完成如图6-1的原理图制作,保存为“内存块移动.DSN”

步骤2:在emu8086中编程,生成exe文件,存为memory.exe

CODE SEGMENT ASSUME CS:CODE START: MOV AX,0 MOV DS,AX

MOV SI,1000H

MOV CX,100 MOV AL,1

PU_IN: MOV [SI],AL ;先存入1000H开始的100个字节数据为1到100 INC AL INC SI LOOP PU_IN MOV CX,100 MOV SI,1000H MOV DI,1100H ; FADR: MOV AL,[SI] MOV [DI],AL INC SI INC DI DEC CX JNE FADR JMP $ CODE ENDS END START 步骤3:Proteus仿真

3、实验报告要求:

(1)说说程序在对那些存储器单元(物理地址表示)进行移动数据,以及整个程序的功能是什么?

答:程序在对[1000H]--[1063H]存储单元进行移动数据,整个程序的功能是对 [1000H]--[1063H]这100个存储单元从1开始赋值到100,然后把这100个存储单元的数据移动到[1100H]—[1163H]这100个存储单元。

(2)修改参考程序,完成将地址从2300H单元开始的1000个存储单元的数据(数据从100到1100之间从小到大顺序排列。请回答,这一千个存储单元最终存放了100到哪个数据之间的数据?)移动到2000H单元开始的存储区存放功能。

答:这一千个存储单元最终放了100-255之间的数据,之后又从0-255从小到大排序。因为是以字节定义的,一个字节最大只为255.

(3)把这些程序放在emu8086中去远行,会有什么效果?对比一下这两个软件。

可以看出,用protues观察内存情况比emu8086的范围大,而且方便。

【实验内容2】

1.请照着图5-1存储器奇偶存储体扩展图画好图。

在8086芯片中编程,其代码如下: ORG 0100H

MOV CX,0064H ;循环100次 MOV DX,0000H ;置初值 MOV BX,8001H ; MOV AX,0000H

MOV DS,AX ;DS置零 SIM:

MOV [BX],DL INC DL INC BX

LOOP SIM

INT 3H ;停止在INT 3H运行的截图如下:

回答如下问题:

(1)两片6264的片选信号(CE和CS)是如何产生的?他们的地址范围是多少?

答:CE和CS是6264的片选端,低电平有效,当8086地址总线输入地址值符合条件时,就会使译码器从Y0输入CE信号,其地址范围为:8000H~0BFFFH(1000000000000000——10111111111111111111B

(2)他们的数据线为何连接不同?

答:因为8086在访问外存是有一个特性,当AD0=0时,访问偶地址单元,数据从总线低八位传输;当AD0=1(BHE=0)时,访问奇地址单元,数据从总线的高八位传输。

(3)地址线为何不直接与CPU的AD0相连?


微机实验一到八答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《概率论与数理统计(本科)》复习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: