微机原理实验报告冒泡排序

五、运行结果

(1)对300,250,280,240,260五个数进行冒泡排序,运行结果如下:

(2)对-1,2,54,-38,43五个数进行冒泡排序,运行结果如下

(1)当输入不合法时,出现错误提示:

微机原理实验报告冒泡排序

(4)当输入数据不足5个时程序自动补0:

六、心得体会

在本次汇编语言程序设计实验中,我们学习了汇编语言的循环结构,并对冒泡排序法进行了汇编程序设计,我首先编写了对给定数据进行冒泡排序的算法设计,这有助于我熟悉冒泡排序的逻辑结构,理清设计思路。汇编语言与C语言相似,然而,在设计过程中,我才意识到,要用汇编语言写出完整的算法程序并不就是一件简单的事,一个微小的错误就可能导致整个程序无法正常运行。在编程时,出现了各种各样的错误,如写程序时没有切换成英式标点,16进制数未加“H”符号,做字除法运算时忘记将DX清零而导致“Divide Overflow”。这些错误都在汇编调试过程中得到改正。

在接下来的上机课程中,我们按照老师的要求对改程序进行了进一步设计——对从键盘输入的数据进行冒泡排序。这个算法程序较为复杂,为了使程序能够更加简洁明了,我对其进行了模块化设计,将输入、输出、冒泡排序等功能分离出来,用子程序一一实现。由于键盘输入的数据并不能简单的从位数来判定输入输出,我设定将Space作为分隔符,而结束输入时按Enter键。为了防止无用输入与输出数据时遗漏“0”,引入了首位符号标志来进行判定。对算法进行模块化设计使得实现各功能时无需多重循环,原数据与排序后数据的输出都可由OUTPUT子程序实现,而最大值、最小值与平均值等都可以由ONE子程序实现单个数据的输出,极大的减少了算法的重复。在这一阶段,我也遇到了一些困难难,例如在输入完数据回车后程序显示输入错误,经过排查才发现在一2号DOS功能调用时,只写了功能号而忘记“INT 21H”,导致数据无法正常显示。还有诸如子程序结束时没加返回指令RET,命名过程名时与关键字重复,更改过程名后忘记修改跳转指令等等。在发现错误与改正错误的过程中增强了我对汇编语言的掌握程度,对算法设计有了更深的了解。

接下来,我还对该算法程序进行了进一步优化,包括数据对齐,出错提示与进行有符号数的排序。为了实现数据对齐,我增加了CRLF子程序,方便实现回车换行功能。而为了在输入不合法时,进行错误提示,我定义了出错标志。该算法可以对-32768---32767之间的整数进行冒泡排序,为了实现这一功能,我使用了符号标志进行判定,1为负数,0为正数。

在上机实验过程中,我对各条语句的含义都有了更深的理解,编写程序与独立解决问题的能力都得到了加强。与此同时,我也认识到自己还有诸多不足,例如程序设计不够简洁,修改算法时往往不能前后兼顾,编写程序不够审慎等等,这些都就是我在今后的日子里需要进一步学习与掌握的。

用汇编语言与C语言实验其他排序,微机原理实验报告冒泡排序相关推荐

  1. 微型计算机原理实验指导书,微机原理实验实验指导书2015.pdf

    微机原理实验实验指导书2015 微型计算机原理与应用 实验指导书 上 海 大 学 通 信 学 院 2015 年 3 月 实验一 8051 单片机简单编程与调试 一.实验目的 通过简单小程序的输入和调试 ...

  2. 8255交通灯实验的微型计算机,微机原理实验四实验报告8255控制交通灯实验

    <微机原理实验四实验报告8255控制交通灯实验>由会员分享,可在线阅读,更多相关<微机原理实验四实验报告8255控制交通灯实验(4页珍藏版)>请在人人文库网上搜索. 1.实验四 ...

  3. 计算机原理实验红绿灯转换,微机原理实验交通灯控制实验.doc

    . . 课 程 设 计 课程设计名称: 交通灯控制实验 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 2014.12.22---2015.1.2 微机原理 专 ...

  4. 微型计算机原理实验报告总结,微机原理实验报告-两个多位十进制数相加的实验等.doc...

    微机原理实验报告-两个多位十进制数相加的实验等.doc 微机原理实验报告班级学号姓名实验一两个多位十进制数相加的实验一.实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立.汇编.链接.调试和运 ...

  5. 微型计算机原理实验程序,微机原理实验(含程序).doc

    微机原理实验(含程序) 微机原理实验(含程序) 实验一 基本I/O口扩展实验(请在实验课前写好预习报告) 实验目的: 1.了解并熟悉8086K实验系统 2.掌握汇编语言基本程序框架 实验内容: 1.利 ...

  6. 二进制转化成ascll_微机原理实验-二进制到ASCII码转换

    广州大学学生实验报告 开课学院及实验室:实验中心 电子信息楼 2013 年 11 月 4 日 学 院 机电 年级.专 业.班 姓名 学号 实验课程名称 微机原理实验 成绩 实验项目名称 二进制到 AS ...

  7. 冒泡排序法c语言实验报告,微机原理实验报告-冒泡排序

    <微机原理实验报告-冒泡排序>由会员分享,可在线阅读,更多相关<微机原理实验报告-冒泡排序(12页珍藏版)>请在人人文库网上搜索. 1.一.实验目的(1)学习汇编语言循环结构语 ...

  8. c语言p1口亮灯,单片机实验开发与微机原理接口技术综合实验装置,上海求育

    原标题:单片机实验开发与微机原理接口技术综合实验装置,上海求育 上海求育QY-JXSY43单片机微机开发实验箱 上海求育QY-JXSY43单片机微机开发实验箱是集51.8088二大系列CPU于一体的二 ...

  9. 北京理工大学c语言实验报告实验6,北京理工大学微机原理实验报告一二三.docx...

    北京理工大学微机原理实验报告一二三 微机原理与接口技术硬件实验报告姓名:班级:学号:实验一8259中断控制器实验实验内容用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管 ...

最新文章

  1. activiti 工作流_技术干货 | 金仓通用数据库中,如何使用Activiti快速开发工作流应用?...
  2. python开发软件行么-python适合开发桌面软件吗?
  3. 【总结】循序渐进,有三AI不得不看的技术综述(超过100篇核心干货)
  4. php 获取对象中的元素个数组长度,获取php类中的数组长度
  5. 贷款审批时,会重点看征信报告哪些内容?
  6. django项目中settings.py文件中路径设置问题
  7. (五十六)iOS多线程之NSOperation
  8. PostgreSQL体系架构
  9. Jenkins_安装基础软件_入门试炼03
  10. Oauth2协议详解
  11. Objective-C中的typedef枚举是什么?
  12. .NETFramework、C#、VisualStudio 这三者之间关系,你了解吗!
  13. Lc695-岛屿的最大面积
  14. python基于水色图像的水质评价_零基础学习Python的学习路线及教程
  15. 如何提升软件开发效能?企业级业务架构思考与实践
  16. 数据结构大作业-家庭记账系统
  17. 怎么尽可能将pdf文件压缩到最小
  18. C++实现windows平台下音频播放音量调节功能
  19. 计算机显示器性能指标的是,简述显示器的主要性能指标
  20. Elasticsearch分布式引擎7.x,2021黑马详细课程笔记

热门文章

  1. 利用MFC向导生成单文档应用程序框架
  2. 共享您的数据!…从SharePoint加载SQL数据
  3. ssis 表达式任务_在SSIS中执行SQL任务:SqlStatementSource表达式与可变源类型
  4. Visual Studio Code for DBA的介绍
  5. libz.so.1: cannot open shared object file: No such file or directory
  6. tf.nn.sigmoid_cross_entropy_with_logits 分类
  7. 小书匠编辑器使用手册
  8. 01_传智播客iOS视频教程_课程介绍与知识点回顾
  9. maven(11)-聚合多模块
  10. 判断手机是否支持闪光灯的