实验2汇编语言程序设计实验资料

上传人:f****u 文档编号:128314039 上传时间:2020-04-20 格式:PDF 页数:8 大小:563.72KB
返回 下载 相关 举报
实验2汇编语言程序设计实验资料_第1页
第1页 / 共8页
实验2汇编语言程序设计实验资料_第2页
第2页 / 共8页
实验2汇编语言程序设计实验资料_第3页
第3页 / 共8页
实验2汇编语言程序设计实验资料_第4页
第4页 / 共8页
实验2汇编语言程序设计实验资料_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《实验2汇编语言程序设计实验资料》由会员分享,可在线阅读,更多相关《实验2汇编语言程序设计实验资料(8页珍藏版)》请在金锄头文库上搜索。

1、 实实 验验 报报 告告 课课 程程 名名 称称 实实 验验 名名 称称 实实 验验 日日 期期 学学 生生 专专 业业 学学 生生 学学 号号 学学 生生 姓姓 名名 实验室实验室 名称名称 教教 师师 姓姓 名名 成成 绩绩 南京理工大学机械工程学院南京理工大学机械工程学院 微机原理及应用微机原理及应用 实验实验 2 2 汇编语言程序设计实验汇编语言程序设计实验 2017 年年 5 月月 25 日日 车辆工程车辆工程 9141010F0309 蒋龙鑫蒋龙鑫 徐群徐群 实验实验2 2 分支程序设计实验分支程序设计实验 1 1 实验目的实验目的 1 掌握分支程序的结构 2 掌握分支程序的设计

2、调试方法 2 2 实验设备实验设备 PC机一台 TD PITC 实验装置一套 3 3 实验内容及步骤实验内容及步骤 设计一数据块间的搬移程序 设计思想 程序要求把内存中一数据区 称为源数据块 传送到另一存储区 成为目的数据块 源数据块和目的数据块在存储中可能有三种情况 如图2 1所示 图图2 2 1 1 源数据块与目的数据块在存储中的位置情况源数据块与目的数据块在存储中的位置情况 对于两个数据块分离的情况 如图2 1 a 数据的传送从数据块的首地址开始 或从 数据块的末地址开始均可 但是对于有重叠的情况 则要加以分析 否则重叠部分会因 搬 移 而遭到破坏 可有如下结论 当源数据块首地址 目的块

3、首地址时 从数据块末地址开始传送数据 如图2 1 b 所 示 当源数据块首地址 目的块首地址时 从数据块首地址开始传送数据 如图2 1 c 所 示 实验程序流程图如图2 2所示 图2 2 分支实验程序流程图 参考实验程序清单 参考实验程序清单 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

4、 MOV DI AL DEC SI DEC DI DEC CX JNE A1 JMP A3 A2 MOV AL SI MOV DI AL INC SI INC DI DEC CX JNE A2 A3 JMP A3 CODE ENDS END START 4 4 实验步骤 实验步骤 1 按流程图编写实验程序 经编译 链接无误后装入系统 2 用E 命令在以SI为起始地址的单元中填入16 个数 3 运行程序 然后再停止运行 4 通过D 命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同 5 通过改变SI DI 的值 观察在三种不同的数据块情况下程序的运行情况 并验证程序 的功能 测试过程

5、测试过程 对 a 输入上述参考程序 运用E命令以SI为起始地址的单元中分别填入 01 02 03 04 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 运行程序 通过D 命令得到 01 02 03 04 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 对 b 将上述程序中3200H改为3110H 同样运用E命令输入相同数据 运行程序 运用D命令得到 09 0A 0B 0C 0D 0E 0F 10 11 CC CC CC CC CC CC CC 对 c 将上述程序中3200H改为30FAH 同样运用E命令输入相同数据 运行程序 运用D命令得到 CC

6、 CC CC CC CC CC 01 02 03 04 04 05 06 07 08 09 0A 5 5 思考题 思考题 试编写一个程序 该程序的功能是 当BL寄存器内容为0时 将0 255这256个数据按从小 到大的顺序放入到以3100H为起始单元的地址中去 当BL寄存器内容为1时 将0 255这256 个数据按从大到小的顺序放入到以3100H为起始单元的地址中去 输入程序 编辑 调试通 过 连接 下载 运行程序 查看结果 实验实验3 3 排序程序设计实验排序程序设计实验 1 1 实验目的实验目的 1 掌握分支 循环 子程序调用等基本的程序结构 2 学习综合程序的设计 编制及调试 2 2 实

7、验设备实验设备 PC机一台 TD PITC 实验装置一套 3 3 实验内容及步骤实验内容及步骤 3 3 1 1 实验内容实验内容1 1 气泡排序法气泡排序法 实验内容 实验内容 在数据区中存放着一组数 数据的个数就是数据缓冲区的长度 要求采用气泡法对该数 据区中的数据按递增关系排序 设计思想 1 从最后一个数 或第一个数 开始 依次把相邻的两个数进行比较 即第N 个数 与第N 1 个数比较 第N 1 个数与第N 2 个数比较等等 若第N 1 个数大于第N 个数 则两者交换 否则不交换 直到N 个数的相邻两个数都比较完为止 此时 N 个数中的最小 数将被排在N 个数的最前列 2 对剩下的N 1

8、个数重复 1 这一步 找到N 1 个数中的最小数 3 再重复 2 直到N 个数全部排列好为止 参考实验程序清单 参考实验程序清单 SSTACK SEGMENT STACK DW 64 DUP SSTACK ENDS CODE SEGMENT ASSUME CS CODE START MOV CX 000AH MOV SI 300AH MOV BL 0FFH A1 CMP BL 0FFH JNZ A4 MOV BL 00H DEC CX JZ A4 PUSH SI PUSH CX A2 DEC SI MOV AL SI DEC SI CMP AL SI JA A3 XCHG AL SI MOV

9、SI 01H AL MOV BL 0FFH A3 INC SI LOOP A2 POP CX POP SI JMP A1 A4 JMP A4 CODE ENDS END START 实验步骤 实验步骤 1 分析参考程序 绘制流程图并编写实验程序 2 编译 链接无误后装入系统 3 键入E3000 命令修改3000H 3009H 单元中的数 任意存入10 个无符号数 4 先运行程序 然后再停止程序运行 5 通过键入D3000 命令查看程序运行的结果 6 可以反复测试几组数据 观察结果 验证程序的正确性 如图 如图 输入第一组数据 得到结果为 输入第二组数据 得到结果为 验证成功 3 2 3 2 实

10、验内容实验内容2 2 学生成绩名次表学生成绩名次表 将分数在1 100 之间的30 个成绩存入首地址为3000H 的单元中 3000H I表示学号为 I的学生成绩 编写程序 将排出的名次表放在3100H 开始的数据区 3100H I 中存放的为 学号为I的学生名次 参考实验程序清单 参考实验程序清单 SSTACK SEGMENT STACK DW 64 DUP SSTACK ENDS CODE SEGMENT ASSUME CS CODE START MOV AX 0000H MOV DS AX MOV ES AX MOV SI 3000H 存放学生成绩 MOV CX 001EH 共30个成绩

11、 MOV DI 3100H 名次表首地址 A1 CALL BRANCH 调用子程序 MOV AL 1EH SUB AL CL INC AL MOV BX DX MOV BX DI AL LOOP A1 A4 JMP A4 扫描成绩表 得到最高成绩者的学号 BRANCH PUSH CX MOV CX 001EH MOV AL 00H MOV BX 3000H MOV SI BX A2 CMP AL SI JAE A3 MOV AL SI MOV DX SI SUB DX BX A3 INC SI LOOP A2 ADD BX DX MOV AL 00H MOV BX AL POP CX RET CODE ENDS END START 实验步骤 实验步骤 1 绘制流程图 并编写实验程序 2 编译 链接无误后装入系统 3 将30 个成绩存入首地址为3000H 的内存单元中 4 调试并运行程序 5 检查3100H 起始的内存单元中的名次表是否正确 输入数据 得到结果为 名次正确 验证成功

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号