微机原理与接口技术实验报告 - 图文 联系客服

发布时间 : 星期日 文章微机原理与接口技术实验报告 - 图文更新完毕开始阅读6a424db01a37f111f1855b32

实验四 分支程序设计实验

一 实验目的

1.掌握分支程序的结构。

2.掌握分支程序的设计、调试方法。

二 实验设备

TDN86/51或TDN86/88教学实验系统一台

三 实验内容及步骤

1.内容:

设计一数据块间的搬移程序

设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。 注意:

当源数据块首址>目的块首址时,从数据块首地址开始传送数据。 当源数据块首址<目的块首址时,从数据块末地址开始传送数据。 2.实验步骤:

(1)编写实验程序。 (2)输入程序:

STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS

CODE SEGMENT ASSUME CS:CODE

START: MOV CX,0010H ;将0010H传送给CX,CX=16 MOV SI,3100H ;将3100H传送给SI,SI=3100H MOV DI,3200H ;将3200H传送给DI,DI=3200H

第 17 页 共 87 页

17

CMP SI,DI ;比较SI和DI的大小,SI是否大于DI?

JA A2 ;如果zf=0且cf=0时进行跳转到A2,否则不进行跳转

ADD SI,CX ;从源数据块末字节开始传送,将SI和CX相加在传给SI(3100H+10H),即SI=3110H

ADD DI,CX ;将DI和CX相加在传给DI(3200H+10H),即DI=3210H DEC SI ;对SI操作数减1(减量)SI=SI-1 DEC DI ;对DI操作数减1(减量)DI=DI-1

A1: MOV AL,[SI] ;将3100H内存单元的内容传送AL MOV [DI],AL ;将AL传送给3200H内存单元

DEC SI ;对SI操作数减1(减量)SI=SI-1 DEC DI ;对DI操作数减1(减量)DI=DI-1 DEC CX ;对CX操作数减1(减量)CX=CX-1

JNE A1 ;如果zf=0时进行跳转到A1,否则顺序执行 JMP A3 ;无条件跳转到A3

A2: MOV AL,[SI] ;将3100H内存单元的内容传送AL MOV [DI],AL ;将AL传送给3200H内存单元 INC SI ;对SI操作数加1(加量)SI=SI+1 INC DI ;对DI操作数加1(加量)DI=DI+1 DEC CX ;对CX操作数减1(减量)CX=CX-1

JNE A2 ;如果zf=0时进行跳转到A2,否则顺序执行 A3: JMP A3 ;顺序执行 CODE ENDS END START

(3)检查无误,经汇编、连接后装入系统。 (4)用E命令在以SI为起址的单元中填入16个数。 (5)G=0000:2000,运行实验程序。

(6)用D命令查看DI为起址的单元中的数据是否与SI单元中数据相同。

(7)改变SI、DI的取值在进行实验。

第 18 页 共 87 页 18

四 实验结果

1.用E命令填入16个数,如图(4-1)。

图4-1 输入16个数

第 19 页 共 87 页

19

2. 查看DI为起址的单元中的数据与SI单元中的数据是相同,如图(4-2)。

图4-2 结果相同

第 20 页 共 87 页

20