欢迎来到天天文库
浏览记录
ID:53246067
大小:30.36 KB
页数:3页
时间:2020-04-02
《ARM汇编-冒泡排序-实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验要求实现字符串冒泡排序。实验过程首先在内存中定义字符串,使用的方法是AREASORTDATA,DATA,READWRITEstrDCB""lenDCD10DCB表示在内存中开辟一个byte的空间。DCD则表示开辟一个word的空间采用两层循环来进行冒泡排序。第一层循环首先把r1初始化为字符串首地址,把r5初始化为0,r5代表内循环执行次数。然后把r4减1,因为最后的一个字符已经排好序了。如果r4=0,代表排序已经完成,调到结束代码。loop0MOVr1,r0;r1isthestartaddressofstringSUBSr4,r4,#1;r4isthelastin
2、dex,thecounterCMPr4,#0BEQendMOVr5,#0第二层循环就是从左往右对字符进行交换,每次把r1和r5的值都增加1。当r5=r4的时候就跳出循环,到达外层循环。;ineveryloop,swapthevalueofcontiguoustwobytesfromthestarttostart+r4;usingr1astheaddress,incrementineveryinnerloop;usingr2,r3toloadthetwobytesthencompare;ifr3issmallerthanr2,;thenstorethevalinswap
3、pedplaceloopLDRBr2,[r1]LDRBr3,[r1,#1]CMPr2,r3STRGTBr2,[r1,#1]STRGTBr3,[r1]ADDr1,r1,#1ADDr5,r5,#1CMPr5,r4BNEloop;ifreachestheend,branchtoouterloopBloop0为了让字符从小到大排列,在CMPr2,r3后,连续使用STRGT(StoreGreaterThan),如果r2>r3,就分别把他们存进对方的地址实现交换。程序执行到底,可以看到字符均已经排好序。实验结论通过本次实验,我对ARM汇编的基本指令更加了解了,知道了简单的分支指令
4、,条件指令和访存指令的使用方法。
此文档下载收益归作者所有