教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

微机系统与接口技术实验指导书(2013版课程设计参考)(7)

来源:网络收集 时间:2026-05-15
导读: 微机系统与接口技术实验教程 五邑大学计算机学院 开 始 源数据块首地址→SI 源数据块首地址→SI 搬移字节数→CX>[SI]>[DI]?> SI←[SI]+[CX]-1DI←[(SI)] DI←[DI]+[CX]-1 SI←[SI]+1DI←[(SI)] DI←[DI]+1 SI←

微机系统与接口技术实验教程 五邑大学计算机学院

开 始 源数据块首地址→SI 源数据块首地址→SI 搬移字节数→CX>[SI]>[DI]?> SI←[SI]+[CX]-1DI←[(SI)] DI←[DI]+[CX]-1 SI←[SI]+1DI←[(SI)] DI←[DI]+1 SI←[SI]-1CX←[CX]-1 DI←[DI]-1CX←[CX]-1[CX]=0?NYN[CX]=0?Y结 束图4-2 程序流程图

实验程序清单(例程文件名为:A4-1.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?) SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE START: MOV CX, 0010H MOV SI, 3100H MOV DI, 3200H CMP SI, DI JA A2

ADD SI, CX ADD DI, CX DEC SI DEC DI

A1: MOV AL, [SI] MOV [DI], AL DEC SI DEC DI

DEC CX

19

微机系统与接口技术实验教程 五邑大学计算机学院 A2: A3: CODE

JNE A1

JMP A3

MOV AL, [SI] MOV [DI], AL INC SI INC DI DEC CX JNE A2

MOV AX,4C00H INT 21H ENDS

END START

;程序终止

4.4 实验步骤

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

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

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

20

微机系统与接口技术实验教程 五邑大学计算机学院

五、循环程序设计实验

5.1 实验目的

1. 加深对循环结构的理解。

2. 掌握循环结构程序设计的方法以及调试方法。

5.2 实验设备

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

5.3 实验内容及步骤

1. 计算S=1+2×3+3×4+4×5+…+N(N+1),直到N(N+1)项大于200为止。 编写实验程序,计算上式的结果,参考流程图如图5-1所示。 实验程序清单(例程文件名为:A5-1.ASM)

SSTACK SSTACK CODE START: A1: CODE

SEGMENT STACK DW 64 DUP(?) ENDS SEGMENT

ASSUME CS:CODE MOV DX,0001H MOV BL,02H MOV AL,BL INC BL MUL BL ADD DX,AX CMP AX,00C8H JNA A1

MOV AX,4C00H INT 21H ENDS

END START

开始1→DX2→BL[BL]→AL[BL]+1→BL;结果存于DX中

;判断N(N+1)与200的大小

[AL]×[BL]→AX[DX]+[AX]→DX[AX]>200?;程序终止

结束实验步骤

(1)编写实验程序,编译、链接无误后装入系统。 图5-1 程序流程图 (2)运行程序,待程序运行停止。 (3)运算结果存储在寄存器DX中,查看结果是否正确。 (4)可以改变N(N+1)的条件来验证程序功能是否正确,但要注意,结果若大于0FFFFH将产生数据溢出。

2. 求某数据区内负数的个数

设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有

21

微机系统与接口技术实验教程 五邑大学计算机学院

数据中凡是符号位为1的数据的个数累加起来,即得到区内所包含负数的个数。

实验程序流程图如图5-2所示。

实验程序清单(例程文件名为:A5-2.ASM)

SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DI, 3000H MOV CL, [DI] XOR CH, CH MOV BL, CH INC DI A1: MOV AL, [DI] TEST AL, 80H JE A2 INC BL A2: INC DI LOOP A1 MOV [DI], BL MOV AX,4C00H INT 21H CODE ENDS END START

开 始数据区首地址→DI;数据区首地址

;取数据个数

数据个数→CL;指向第一个数据 ;检查数据首位是否为1 ;负数个数加1

CH、BL置0DI增1数据首位=1?N;保存结果

Y;程序终止

BL+1→BL实验步骤 DI增1(1)按实验流程编写实验程序。 (2)编译、链接无误后装入系统。 NCX=0?(3)键入E3000,输入数据如下: 3000=06 (数据个数) Y 3001=12 存结果 3002=88 3003=82

结 束 3004=90 3005=22

3006=33 图5-2 程序流程图

(4)先运行程序,待程序运行停止。

(5)查看3007内存单元或寄存器BL中的内容,结果应为03。 (6)可以进行反复测试来验证程序的正确性。

22

微机系统与接口技术实验教程 五邑大学计算机学院

六、排序程序设计实验

6.1 实验目的

1. 掌握分支、循环、子程序调用等基本的程序结构。 2. 学习综合程序的设计、编制及调试。

6.2 实验设备

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

6.3 实验内容及步骤

1. 气泡排序法

在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求采用气泡法对该数据区中的数据按递增关系排序。

设计思想:

(1)从最后一个数(或第一个数)开始,依次把相邻的两个数进行比较,即第N个数与第N-1个数比较,第N-1个数与第N-2个数比较等等;若第N-1个数大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时,N个数中的最小数将被排在N个数的最前列。

(2)对剩下的N-1个数重复(1)这一步,找到N-1个数中的最小数。 (3)再重复(2),直到N个数全部排列好为止。

实验程序清单(例程文件名为:A6-1.ASM)

SSTACK SSTACK CODE START: A1: A2:

SEGMENT STACK

DW 64 DUP(?) ENDS SEGMENT

ASSUME CS:CODE MOV CX, 000AH MOV SI, 300AH MOV BL, 0FFH CMP BL, 0FFH JNZ A4

MOV BL, 00H DEC CX JZ A4 PUSH SI PUSH CX DEC SI

MOV AL, [SI] DEC SI

CMP AL, [SI] JA A3

XCHG AL, [SI]

23

…… 此处隐藏:1206字,全部文档内容请下载后查看。喜欢就下载吧 ……
微机系统与接口技术实验指导书(2013版课程设计参考)(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/616129.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)