微机系统与接口技术实验指导书(2013版课程设计参考)(7)
微机系统与接口技术实验教程 五邑大学计算机学院
开 始 源数据块首地址→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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




