- 8
- 0
- 约9.55千字
- 约 16页
- 2017-01-11 发布于重庆
- 举报
冒泡排序,正向逆向汇,编语言课程设计.
皖西学院
课 程 设 计 报 告
设计题目: 汇编冒泡排序算法分析
名 称: 微机原理与接口课程设计
班 级: 信息工程学院
姓 名:
学 号:
设计时间: 2011-12-16 至 2011-12-25
指导教师:
评 语:
评阅成绩: 评阅教师:
一、课程设计的性质和目的:
通过课程设计,进行程设计方法和技能的基本训练,巩固在课堂上学到的有
关软件程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉
汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言
程序的水平。
二、课程设计的要求:
1、遵循模块化、结构化的程序设计方法。
2、要求程序必须正确。
3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。
4、要求程序结构合理,语句使用得当。
5、适当追求编程技巧和程序运行效率。
三、主要仪器设备及软件:
PC机、MASM汇编软件。
四、课程设计题目及要求:
题目:汇编冒泡排序算法分析
要求:用汇编语言编写冒泡排序的算法,并比较冒泡排序正向和逆向排序的
算法的优缺点和适用情况。
五、课题分析及设计思路:
冒泡排序:
依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:
首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2
个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两
个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最
后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3
个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放
后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第
二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列
中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
冒泡排序可分为正向和逆向两种排序.通过主程序对子程序的调用来
完成输入输出,排序,循环,转化等功能。
六、程序主要流程图:
七、程序主要代码与分析(关键代码要有注释):
BUF为首址的字符区存放10个无符号数,从大到小进行排序(逆向)
data segment
buf dw 3,-4,6,7,9,2,-8,-10,20,0
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov cx ,10
dec cx
lop1:mov dx,cx
mov bx,0
lop2:mov ax,buf[bx]
cmp ax,buf[bx+2]
jge lop3
xchg ax ,buf[bx+2]
mov buf[bx],ax
lop3:add bx,2
dec cx
jne lop2
mov cx ,dx
loop lop1
mov ah,4ch
int 21h
code ends
end start
逆向排序程序截图:
将4,6,7,9,2,0,3,8,10,20按降序排序
第一轮:
4 6 7 9 2 0 3 8 10 20
6 4 7 9 2 0 3 8 10 20
6 4 7 9 2 0 3 8 10 20
6 4 9 7 2 0 3 8 10 20
您可能关注的文档
最近下载
- 支部党员大会会议记录(支委会选举范例).docx VIP
- 深圳市宝安区2025-2026学年第一学期五年级语文期末学业质量评估卷(原卷+答案)统编版.docx VIP
- 山桐子种植加工、旅游项目可行性研究报告商业计划书.docx VIP
- 山桐子种植及种苗培育种植加工可行性研究报告申请备案.doc VIP
- 和田地区2026年度地直机关公开遴选公务员、事业单位公开选聘工作人员备考题库及完整答案详解1套.docx VIP
- 山桐子合作种植协议合同.docx VIP
- 2025年香氛未来趋势报告-英敏特.docx VIP
- 报告正文2014年太阳绿宝.pdf VIP
- 2025年高考:云南物理--试题及答案.pdf VIP
- 广东省深圳市宝安区2025-2026学年五年级上学期期末学业质量评估语文试卷.docx VIP
原创力文档

文档评论(0)