微机原理实验报告 下载本文

微型计算机原理及单片机

实验报告

班级: 学号: 姓名:

实验一 汇编语言程序设计 1 分支程序设计实验

1.1.1 实验目的

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

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

1.1.2 实验设备

PC机一台,TD-PITE实验装置一套。

1.1.3 实验内容

设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图1.1所示。

0H0H源数据块目的数据块0H源数据块目的数据块目的数据块源数据块FFFFFHFFFFFHFFFFFH

(a) (b) (c)

图1.1 源数据块与目的数据块在存储中的位置情况

对于两个数据块分离的情况,如图1.1(a),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。但是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论:

当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图1.14(b)所示。

当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图1.14(c)所示。

实验程序流程图如图1.5所示。

1.1.4 实验程序如下

SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START:

MOV CX, 0010H图1.5 程序流程图 MOV SI, 6000H 开 始 MOV DI, 7000H CMP SI, DI 源数据块首地址→SI 源数据块首地址→SI JA A2

搬移字节数→CX ADD SI, CX ADD DI, CX >[SI]>[DI]? DEC SI DEC DI

DI←[(SI)] SI←[SI]+[CX]-1A1: MOV AL, [SI]

DI←[DI]+[CX]-1 MOV [DI], AL

SI←[SI]+1 DEC SI DI←[DI]+1DI←[(SI)] DEC DI DEC CX CX←[CX]-1 SI←[SI]-1 DI←[DI]-1 JNE A1

JMP A3

[CX]=0?CX←[CX]-1A2: MOV AL, [SI]

Y MOV [DI], AL

N INC SI [CX]=0? INC DI Y DEC CX

结 束 JNE A2 A3: JMP A3 CODE ENDS END START

1.1.5 实验步骤

1. 按流程图编写实验程序,经编译、链接无误后装入系统。 2. 用E命令在以SI为起始地址的单元中填入16个数。 3. 运行程序,待程序运行停止。

4. 通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。

5. 通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程序的功能。

>N