利用汇编语言编写找出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:(源代码);..........................数据段..........................datasegmentarydb30,16,8,-1,13,49,7,11,4,20;数组个数countdb10;数组元素个数maxdb?mindb?addressdw4dup(?);地址表缓冲区dataendsstacksegmentparastack'stack'db256dup(?)stackendscodesegmentassumecs:code,ds:data;..........................代码段..........................start:movax,datamovds,axmovaddress,offsetary;movaddress+2,offsetcountmovaddress+4,offsetmaxmovaddress+6,offsetminleabx,address;地址表首地址送入寄存器BXcallsearch;搜索最大值及最小值moval,maxcalloutdata;显示最大值callcrlf;回车换行moval,mincalloutdata;显示最小值movah,4ch;返回DOSint21hsearchprocpushbx;现场保护pushcxpushdxpushbppushsipushdimovbp,[bx+2];数组长度单元地址送入BPmovcx,ds:[bp];数组长度—》CXdeccxmovsi,[bx+4]movdi,[bx+6]movbp,[bx]movdl,ds:[bp]mov[si],dlmov[di],dlincbplop:movdl,ds:[bp]cmpdl,[si]jenextjlmincmov[si],dljmpnextminc:cmpdl,[di]jgenextmov[di],dlnext:incbplooploppopdipopsipopbppopdxpopcxpopbxretsearchendpoutdataprocnearpushaxpushbxpushcxpushdxmovbl,almovcl,4shral,cloral,30hcmpal,3ahjbouthaddal,07houth:movdl,almovah,02hint21hmovdl,blanddl,ofhordl,30hcmpdl,3ahjboutladddl,07houtl:movah,02hint21hmovdl,'h'movah,2int21hpopdxpopcxpopbxpopaxretoutdataendpcrlfprocpushaxpushdxmovdl,0ahmovah,2int21hmovdl,0dhmovah,2int21hpopdxpopaxretcrlfendpcodeendsendstart附录b:参考书目1、沈美明IBM-PC汇编语言程序设计2、张志明汇编语言程序设计3、耿秀华汇编语言程序设计4、沈美明、温东婵IBM-PC汇编语言程序设计(第二版)

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功