software
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT __main
|
||||
|
||||
__main
|
||||
LDR R0, =0x20000000
|
||||
LDR R1, =0x20000100
|
||||
MOVS R2, #10
|
||||
swap_loop
|
||||
LDRB R3, [R0]
|
||||
LDRB R4, [R1]
|
||||
STRB R4, [R0]
|
||||
STRB R3, [R1]
|
||||
ADDS R1,R1,#1
|
||||
ADDS R0,R0,#1
|
||||
SUBS R2,R2,#1
|
||||
BNE swap_loop
|
||||
STOP
|
||||
B STOP
|
||||
END
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT __main
|
||||
__main
|
||||
LDR R0,=0xFFC0FFFF
|
||||
LSLS R0,R0,(#32-8-16) ;(32-W-P)
|
||||
LSRS R0,R0,(#32-W) ;(32-W)
|
||||
|
||||
LDR R0,=0XFFC0FFFF
|
||||
MOVS R1, #16 ; #P
|
||||
MOVS R2, #8 ;W
|
||||
MOVS R3, #(32-8-16) ;(32-W-P)
|
||||
|
||||
RORS R0,R0,R1
|
||||
LSRS R0,R0,R2
|
||||
RORS R0,R0,R3
|
||||
STOP
|
||||
B STOP
|
||||
END
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT main
|
||||
|
||||
main
|
||||
MOVS R6,#5
|
||||
MOVS R4,R6
|
||||
SUBS R4,R4,#1
|
||||
LOOP
|
||||
MOVS R7,R4
|
||||
MULS R7,R6,R7
|
||||
MOVS R6,R7
|
||||
SUBS R4,R4,#1
|
||||
BNE LOOP
|
||||
STOP
|
||||
B STOP
|
||||
END
|
||||
@@ -0,0 +1,11 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT func
|
||||
EXTERN func2
|
||||
__func
|
||||
PUSH{LR}
|
||||
MOVS R0, #5
|
||||
BL func2
|
||||
POP{PC}
|
||||
END
|
||||
@@ -0,0 +1,8 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT func2
|
||||
func2
|
||||
MOVS R1, #5
|
||||
BX LR
|
||||
END
|
||||
@@ -0,0 +1,12 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT __main
|
||||
EXTERN func
|
||||
__main
|
||||
BL func
|
||||
MOVS R0, #40
|
||||
NOP
|
||||
STOP
|
||||
B STOP
|
||||
END
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT __main
|
||||
|
||||
__main
|
||||
LDR R3,=0X20000100
|
||||
LDR R0,=0X20000050
|
||||
LDMIA R3!,{R1,R2}
|
||||
|
||||
MOV SP, R0
|
||||
PUSH {R1,R2}
|
||||
POP {R1,R2}
|
||||
STOP
|
||||
B STOP
|
||||
END
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
PRESERVE8
|
||||
THUMB
|
||||
AREA |.text|, CODE, READONLY
|
||||
EXPORT __main
|
||||
__main
|
||||
LDR R0,= 0
|
||||
CMP R0, #3
|
||||
BHI default_case
|
||||
MOVS R2, #4
|
||||
MULS R0,R0,R2
|
||||
LDR R1,= BranchTable
|
||||
LDR R2, [R1,R0]
|
||||
BX R2
|
||||
ALIGN 4
|
||||
BranchTable
|
||||
DCD Dest0
|
||||
DCD Dest1
|
||||
DCD Dest2
|
||||
DCD Dest3
|
||||
default_case
|
||||
stop
|
||||
B stop
|
||||
Dest0
|
||||
LDR R0, =10
|
||||
stop1
|
||||
B stop1
|
||||
Dest1
|
||||
LDR R0, =20
|
||||
stop2
|
||||
B stop2
|
||||
Dest2
|
||||
LDR R0, =30
|
||||
stop3
|
||||
B stop3
|
||||
Dest3
|
||||
LDR R0, =40
|
||||
stop4
|
||||
B stop4
|
||||
END
|
||||
Reference in New Issue
Block a user