程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

//从N个32位数中找到最大,最小数,分别存放在R0,R1当中AREAGLOBALS,CODE,READONLYnumEUQnENTRYMOVR1,#0;MINMOVR0,#0;MAXMOVR3,#num-1;循环次数LDRR2,=src;startLDRPLR4,[R2,R3];CMPR4,R0MOVGTR0,R4;如果R4R1,送R4到R1CMPR1,R4;MOVGTR1,R4;如果R0R4,送R4到R0SUBSR3,R3,#1;R3=R3-1;BPLstart;BAREADataArea,DATA,READWRITEsrcDCB................................//n数据的定义END//汇编语言编写冒泡法排序AREAGLOBALS,CODE,READONLYENTRYEXPORTASMSUBROUTINEIMPORTGLOBVARMOVR3,#10//MOVR6,#10ASMSUBROUTINELDRR1,=GLOBVAR//取首地址MOVR0,R1LOOPMASUBR6,#1//R6=R6-1CMPR6,#0BEQQUITT//不相等(或不为0)跳转指令BLOOPlopLDRR5,[R1],#-4LOOP//内循环SUBR3,R3,#1//R3=R3-1CMPR3,#0BEQQUIT//取两个数LDRR2,[R1],#4//将存储器地址为R1的字数据读入寄存器R0当中,并且R1=R1+4LDRR4,[R1],#4CMPR2,R4//比较两个数BLTSWIT//BlopSWIT//交换两个数STRR2,[R1,#-4]STRR4,[R1,#-8]LDRR5,[R1],#-4BLOOPQUITMOVR1,R0//一轮内循环结束,重新赋值开始下一轮MOVR3,#10BLOOPMAQUITTMOVPC,LRENDAREADataArea,DATA,READWRITEGLOBVARDCB28,2,6,1,7,2,7,1,43,56END//从N个32位数中找到最大,最小数,分别存放在R0,R1当中AREAGLOBALS,CODE,READONLYnumEUQnENTRYMOVR1,#0;MINMOVR0,#0;MAXMOVR3,#num-1;循环次数LDRR2,=src;startLDRPLR4,[R2,R3];CMPR4,R0MOVGTR0,R4;如果R4R1,送R4到R1CMPR1,R4;MOVGTR1,R4;如果R0R4,送R4到R0SUBSR3,R3,#1;R3=R3-1;BPLstart;BAREADataArea,DATA,READWRITEsrcDCB................................//n数据的定义END//汇编语言编写冒泡法排序AREAGLOBALS,CODE,READONLYENTRYEXPORTASMSUBROUTINEIMPORTGLOBVARMOVR3,#10//MOVR6,#10ASMSUBROUTINELDRR1,=GLOBVAR//取首地址MOVR0,R1LOOPMASUBR6,#1//R6=R6-1CMPR6,#0BEQQUITT//不相等(或不为0)跳转指令BLOOPlopLDRR5,[R1],#-4LOOP//内循环SUBR3,R3,#1//R3=R3-1CMPR3,#0BEQQUIT//取两个数LDRR2,[R1],#4//将存储器地址为R1的字数据读入寄存器R0当中,并且R1=R1+4LDRR4,[R1],#4CMPR2,R4//比较两个数BLTSWIT//BlopSWIT//交换两个数STRR2,[R1,#-4]STRR4,[R1,#-8]LDRR5,[R1],#-4BLOOPQUITMOVR1,R0//一轮内循环结束,重新赋值开始下一轮MOVR3,#10BLOOPMAQUITTMOVPC,LRENDAREADataArea,DATA,READWRITEGLOBVARDCB28,2,6,1,7,2,7,1,43,56END

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

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

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

×
保存成功