arm4..

.text 
.global _start
_start:
 
    @RCC使能
	ldr r0,=0x50000A28
    ldr r1,[r0]
    orr r1,r1,#(3<<4)
   str r1,[r0]
 
led1:
    ldr r0,=0x50006000
    ldr r1,[r0]
    BIC r1,r1,#(3<<20)
    ORR R1,R1,#(1<<20)
    str r1,[r0]
   
    ldr r0,=0x50006004
    ldr r1,[r0]
    BIC r1,r1,#(1<<10)
    str r1,[r0]
 
    ldr r0,=0x50006008
    ldr r1,[r0]
    BIC r1,r1,#(3<<20)
    str r1,[r0]
 
    ldr r0,=0x5000600C
    ldr r1,[r0]
    BIC r1,r1,#(3<<20)
    str r1,[r0]
 
 
led3:
    ldr r0,=0x50006000
    ldr r1,[r0]
    BIC r1,r1,#(3<<16)
    ORR R1,R1,#(1<<16)
    str r1,[r0]
   
    ldr r0,=0x50006004
    ldr r1,[r0]
    BIC r1,r1,#(1<<8)
    str r1,[r0]
 
    ldr r0,=0x50006008
    ldr r1,[r0]
    BIC r1,r1,#(3<<16)
    str r1,[r0]
 
    ldr r0,=0x5000600C
    ldr r1,[r0]
    BIC r1,r1,#(3<<16)
    str r1,[r0]
 
led2:
    ldr r0,=0x50007000
    ldr r1,[r0]
    BIC r1,r1,#(3<<20)
    ORR R1,R1,#(1<<20)
    str r1,[r0]
    
    ldr r0,=0x50007004
    ldr r1,[r0]
    BIC r1,r1,#(1<<10)
    str r1,[r0]
 
    ldr r0,=0x50007008
    ldr r1,[r0]
    BIC r1,r1,#(3<<20)
    str r1,[r0]
 
    ldr r0,=0x5000700C
    ldr r1,[r0]
    BIC r1,r1,#(3<<20)
    str r1,[r0]
 
fan:
    ldr r0,=0x50006000
    ldr r1,[r0]
    BIC r1,r1,#(3<<18)
    ORR R1,R1,#(1<<18)
    str r1,[r0]
   
    ldr r0,=0x50006004
    ldr r1,[r0]
    BIC r1,r1,#(1<<9)
    str r1,[r0]
 
    ldr r0,=0x50006008
    ldr r1,[r0]
    BIC r1,r1,#(3<<18)
    str r1,[r0]
 
    ldr r0,=0x5000600C
    ldr r1,[r0]
    BIC r1,r1,#(3<<18)
    str r1,[r0]
 
    ldr r0,=0x50006014
    ldr r1,[r0]
    ORR r1,r1,#(1<<9)
    str r1,[r0]
 
 
loop:
    bl led1_on
    bl led2_off
    bl led3_off
    bl delay
 
    bl led2_on
    bl led1_off
    bl led3_off
    bl delay
 
    bl led3_on
    bl led1_off
    bl led2_off
    bl delay
    bl loop
led1_on:
    @亮
    ldr r0,=0x50006014
    ldr r1,[r0]
    ORR r1,r1,#(1<<10)
    str r1,[r0]
    mov pc,lr
 
led1_off:
    @灭
    ldr r0,=0x50006014
    ldr r1,[r0]
    bic r1,r1,#(1<<10)
    str r1,[r0]
    mov pc,lr
 
led3_on:
    @亮
    ldr r0,=0x50006014
    ldr r1,[r0]
    ORR r1,r1,#(1<<8)
    str r1,[r0]
    mov pc,lr
 
led3_off:
    @灭
    ldr r0,=0x50006014
    ldr r1,[r0]
    bic r1,r1,#(1<<8)
    str r1,[r0]
    mov pc,lr
led2_on:
    @亮
    ldr r0,=0x50007014
    ldr r1,[r0]
    ORR r1,r1,#(1<<10)
    str r1,[r0]
    mov pc,lr
 
led2_off:
    @灭
    ldr r0,=0x50007014
    ldr r1,[r0]
    bic r1,r1,#(1<<10)
    str r1,[r0]
    mov pc,lr
 
 
delay:
    ldr r0,=0x10000000
mm:
    cmp r0,#0
    sub r0,r0,#1
    bne mm
    mov pc,lr
 
.end

你可能感兴趣的:(算法)