用汇编语言实现数据排序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用汇编语言实现数据排序   摘要:汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。本文主要讨论如何利用汇编语言实现计算机程序设计中排序这种重要运算。   关键词:汇编语言;排序;冒泡排序   中图分类号:TP313 文献标识码:A文章编号:1007-9599 (2011) 16-0000-01   Sort Data with Assembly Language   Ren Hong,Wang Yunxia   (Information Technology Department of Xuanhua Science and Technology College,Zhangjiakou075100,China)   Abstract:The assembly language is a computer can provide to users the fastest and most effective use of language,is able to use all of your computer hardware features and can only directly control the hardware language This article discusses how to use assembly language in computer programming sort important operation.   Keywords:Assembly language;Sort;Bubble Sort   一、引言   排序是计算机程序设计中的一种重要运算,其功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。经过排序的数据可采用优化的算法提高程序的执行效率;增加输出数据的清晰度,便于信息检索;同时经过排序后的数据往往还隐含一些特殊的含义,为用户提供有价值的信息。   汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对于程序的空间和时间要求很高的场合,汇编语言是必不可少的。本文将主要讨论如何利用汇编语言实现数据的排序功能。   二、算法分析   设计要求:编写一个排序程序,实现10个数据的从小到大的升序排列。   程序算法:气泡排序是一种常用的排序方法,它的规则是:表中相邻两元素一一比较,并把大值元素向下交换,直至表尾(大值元素落底),此时,称为一次冒泡(程序中一次大循环)。以后重复冒泡排序,直至最小元素冒到表顶为止。若在一次冒泡排序中没有出现两元素交换(设标志为0),则停止排序。   具体算法:该程序采用双重循环结构,其中DL用来设置外循环次数,CX用来设置内循环次数,DH设为交换标志。其中内部循环L1主要完成一次冒泡过程,即对相邻两个元素进行比较。外循环L2主要用来控制整个冒泡的次数,即n-1次。   算法描述如下:   datasegment   memdb 10,9,8,7,6,5,4,3,2,1   len dw$-mem   dataends      codesegment   mainproc far   assume cs:code,ds:data   start:push ds   sub ax,ax   push ax   mov ax,data   mov ds,ax   mov dh,1   mov dl,len   Lo: ordh,dh   JzL3   mov dh,0   mov cx,len   sub cx,bx   mov si,offsetmem   L1:mov al,[si]   Incsi   cmp al,[si]   jbeL2   xchg al,[si]   mov [si-1],al   mov dh,1    L2:loop L1    incbx    decdl    jnz L0    L3: ret   code ends   endstart   三、算法分析   空间效率:冒牌法排序仅用了一个辅助单元,即空间复杂度为O(1)。   时间效率:   待排元素状态 “比较”次数 “移动”次数   正序 n-1 0   逆序 n(n-1)/2 3n(n-1)/2               若待排序元素处于随机状态,则冒泡法排序的平均时间复杂度为O(n2)。   稳定性:冒泡排序是一种稳定排序方法。   四、结束语   本文主要介绍了采用汇编语言实

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档