一、实验要求
利用PROTEUS平台,建立8086 的内存块移动的例子。
二、实验目的
1.熟悉实验系统的编程和使用。
2.了解内存的移动方法。
3.加深对存储器读写的认识。
三、实验说明
程序要求把内存中一数据区(称为源数据块)传送到内存另一数据区(称为目的数据块)。源数据块和目的数据块在存贮中可能有三种情况,如下图所示。

对于两个数据块分离的情况,如图(a),数据的传送从据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。
可以得出如下结论:当源数据块首址大于目的块首址时,从数据块首地址开始传送数据。当源数据块首址小于目的块首址时,从数据块末址开始传送数据。
四、实验程序流程图

五、实验步骤
a.仿真代码
CODE SEGMENT
ASSUME CS:CODE
START:
MOV SI,1000H;源内存
MOV CX,100;准备存储的字节区
MOV AL,1;初始化AL,作为被存储的数据
PU_IN: MOV [

本次实验在Proteus平台上进行,目标是理解8086微处理器中内存块的移动。实验要求将源数据块从内存一区域传送到另一区域,并考虑了数据块可能的重叠情况。通过仿真和调试,验证了内存块移动的正确性,实验结果表明,无论是从首地址还是末地址开始移动,都能有效避免数据破坏。此外,还探讨了有重叠部分的内存块如何正确移动的问题。

6079

被折叠的 条评论
为什么被折叠?



