37 lines
No EOL
394 B
NASM
37 lines
No EOL
394 B
NASM
AREA RESET, DATA, READONLY
|
|
EXPORT __Vectors
|
|
__Vectors
|
|
DCD 0x10001000
|
|
DCD Reset_Handler
|
|
ALIGN
|
|
|
|
AREA MYCODE, CODE, READONLY
|
|
ENTRY
|
|
EXPORT Reset_Handler
|
|
|
|
Reset_Handler
|
|
LDR R1, =5
|
|
BL fact
|
|
LDR R12, =0x10001000
|
|
STR R0, [R12]
|
|
|
|
STOP
|
|
B STOP
|
|
|
|
fact
|
|
CMP R1, #1
|
|
BLE base_case
|
|
|
|
PUSH{R1, LR}
|
|
SUB R1, R1, #1
|
|
BL fact
|
|
|
|
POP{R2, LR}
|
|
MUL R0, R0, R2
|
|
BX LR
|
|
|
|
base_case
|
|
MOV R0, #1
|
|
BX LR
|
|
|
|
END |