这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » ARM汇编学习例四

共1条 1/1 1 跳转至

ARM汇编学习例四

专家
2009-03-24 16:43:57     打赏
ARM汇编学习例四

 

 用汇编实现冒泡排序的例程:

     AREA Sort,CODE,READONLY
 ENTRY
 
start
     MOV r4,#0
     LDR r6,=src
     ADD r6,r6,#len
 
outer
     LDR r1,=src
 
inner
     LDR r2,[r1]
     LDR r3,[r1,#4]
     CMP r2,r3
     STRGT r3,[r1]
     STRGT r2,[r1,#4]
     ADD r1,r1,#4
     CMP r1,r6
     BLT inner
 
     ADD r4,r4,#4
     CMP r4,#len
     SUBLE r6,r6,#4
     BLE outer
 
stop
     MOV r0,#0x18
     LDR r1,=0x20026
     SWI 0x123456
 
     AREA Array,DATA,READWRITE
src DCD 2,4,10,8,14,1,20
len EQU 7*4
     END
这是一个冒泡排序问题,如果pc值一开始为0x30100058,则r6为74, 经过内循环和外循环得到结果从58开始的为00 01 02 04 08 0a,0e,14,从而衍生出一个00,所以改程序7*4为6*4,因为20前面只有6个字啊,这时得到从58开始的为01 02 04 08 0a,0e,14



关键词: 汇编     学习    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]