- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用汇编语言编写找出10个无符号数中最大数和最小数分别存储程序.
利用汇编语言编写找出10个无符号数中最大数和最小数分别存储程序
一、要求:
已知在DATA开始的字单元中存放有10个无符号整数,试编制程序挑选出其中的最大数并存放到MAXV单元中,挑选出最小数并存放到MINV单元中。
二 算法分析
1、求最大值:10个数据存储在限制为10个数据的数组中,BX中存储数组,将首地址数据赋值给AX,随后完成指针后移同时数据循环与AX比较,如果AX[BX],那么 AX赋值给BX,否则指针后移,直到指针指到数组末尾时循环结束,最后将AX赋值给MAXV,然后调用DOS输出数据。
2求最小值:将首地址数据赋值给AX,随后完成指针后移同时数据循环与AX比较,如果AX[BX],那么 AX赋值给BX,否则指针后移,直到指针指到数组末尾时循环结束,将AX赋值给MAXV,然后调用DOS输出数据。
三 扩展应用
顾名思义,此程序的设计是为了在无序的一组数据中挑选出其最值。在实际中,这样的要应用许许多多,这样,我们可以把这个算法付诸实践,丰富我们的乐趣,使我们的程序设计从理论上升到实践,从而能力得到质的飞跃。
设想,再一次歌手比赛中,评委打完分后,计分原则是去头和尾,此时,本程序可以迅速查找到其最高分以及最低分,并删除之,这是一个很好的应用。
再看看我们的学校,每年必不可少的就是考试了,为了各项评比,我们需要选出最高分,无论怎么评比,只要设置一个关键字,定义其属性就可以得到最优秀的,这一应用节省了我们的时间,对比过去利用“穷举”的查找法,这无疑是质的飞跃啊!
在软件中,可以用这种算法来实现数据、字符等的寻优操作。
总之,只要没有到共产主义社会,就会就会存在竞争,就存在优胜劣汰,从而少不了的就是选择更优秀,淘汰垃圾,那么查找最优或者最差的算法就不会淘汰。
四 程图分析设计:
程序分为查找、排序的主程序,以及它所要调用的循环程序,程序中包含有延时子程序,主程序为循环结构,以便循环比较,查找到最值。
查找最值程序中,可以按分如下结构化算法去编辑程序:
(查找MAXV)
(查找MINV)
五 结束语
附录a:(源代码)
;..........................数据段 ..........................
data segment
ary db 30,16,8,-1,13,49,7,11,4,20 ;数组个数
count db 10 ;数组元素个数
max db ?
min db ?
address dw 4dup(?) ;地址表缓冲区
data ends
stack segment para stack stack
db 256dup(?)
stack ends
code segment
assume cs:code,ds:data
;..........................代码段 ..........................
start:
mov ax,data
mov ds,ax
mov address, offset ary;
mov address+2, offset count
mov address+4, offset max
mov address+6, offset min
lea bx,address ;地址表首地址送入寄存器BX
call search ;搜索最大值及最小值
mov al,max
call outdata ;显示最大值
call crlf ;回车换行
mov al,min
call outdata ;显示最小值
mov ah,4ch ;返回DOS
int 21h
search proc
push bx ;现场保护
push cx
push dx
push bp
push si
push di
mov bp,[bx+2] ;数组长度单元地址送入BP
mov cx,ds:[bp] ;数组长度—》CX
dec cx
mov si,[bx+4]
mov di,[bx+6]
mov bp,[bx]
mov dl,ds:[bp]
mov [si],dl
mov [di],dl
inc
文档评论(0)