资源描述:
《ARM 汇编程序实现选择排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三次作业ARM汇编程序实现选择排序一、实验原理算法:选择排序算法C语言不多说了VoidSort{intdata[]={10,9,8,7,6,5,4,3,2,1,0};intx,y,len,t,temp;len=sizeof(data)/sizeof(data[0]);for(x=0;x2、;}}二、程序清单:1、汇编代码清单AREAparam,CODE,READONLY;声明代码段paramENTRY;标识程序入口CODE32;声明32位ARM指令EXPORTmainIMPORTprintfIMPORT
3、
4、Lib$$Request$$armlib
5、
6、,WEAKmainSTARTSTMFDsp!,{r4,lr}LDRr0,lenSUBr1,r0,#1LDRr2,=dataMOVr3,#0loop_outMOVr5,r3ADDr4,r3,#1loop_inLDRr6,[r2,r4,LSL#2]LDRr7,[r2,r
7、5,LSL#2]CMPr6,r7BGEnext_yMOVr5,r4next_yADDr4,r4,#1CMPr4,r0BNEloop_inCMPr3,r5BEQsort_okLDRr6,[r2,r3,LSL#2]LDRr7,[r2,r5,LSL#2]STRr6,[r2,r5,LSL#2]STRr7,[r2,r3,LSL#2]ADDr3,r3,#1CMPr3,r0BNEloop_outsort_okADRr0,formatLDRr2,=dataLDRr4,lenMOVr3,#0print_nextSTMDAsp!,{r0-r4}L
8、DRr1,[r2,r3,LSL#2]BLprintfLDMIBsp!,{r0-r4}ADDr3,r3,#1CMPr3,r4BNEprint_nextADRr0,line_endBLprintfLDMFDsp!,{r4,pc}dataDCD10,9,8,7,6,5,4,3,2,1data_endDCD0lenDCD10formatDCB"%d, "line_endDCB" "END3、调试与运行图1代码编辑图2单步查看寄存器