STACK_TOP EQU 0x20005000 ; 宏定义主堆栈指针STACK_TOP
IMPORT mycode
AREA RESET, CODE ; 代码段的名字RESET---名字必须是RESET
DCD STACK_TOP ; 向量表第一项:堆栈指针值
DCD start ; 向量表第二项:主程序入口地址
ENTRY ; 程序的入口
start
LDR R0, =mycode
BX R0
deadloop
B deadloop ; 在此死循环,空等待
NOP
END
寄存器传参
EXPORT mycode
AREA MYDATA1,DATA, READWRITE
SUM DCD 0
AREA ADDCODE, CODE
mycode
MOV R0,#0
MOV R1,#1
BL SUM_LOOP
deadloop B deadloop
SUM_LOOP ADD R0,R0,R1
ADD R1,R1,#1
CMP R1,#5
BLE SUM_LOOP ;带符号数小于等于
LDR R4,=SUM
STR R0,[R4]
MOV PC,LR
END
存储区域传参
EXPORT mycode
AREA MYDATA,DATA,READONLY
INPUT1 DCD 0
INPUT2 DCD 1
AREA MYDATA1,DATA, READWRITE
SUM DCD 0
AREA ADDCODE, CODE
mycode
LDR R0,=INPUT1
LDR R0,[R0]
LDR R1,=INPUT2
LDR R1,[R1]
;MOV R0,#0
;MOV R1,#1
BL SUM_LOOP
deadloop B deadloop
SUM_LOOP ADD R0,R0,R1
ADD R1,R1,#1
CMP R1,#5
BLE SUM_LOOP ;带符号数小于等于
LDR R4,=SUM
STR R0,[R4]
MOV PC,LR
END