41 lines
No EOL
460 B
NASM
41 lines
No EOL
460 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
|
|
MOV r0, #48
|
|
MOV r1, #18
|
|
|
|
GCD_Loop
|
|
CMP r0, r1
|
|
BEQ GCD_Done
|
|
BGT GT_A_B
|
|
SUB r1, r1, r0
|
|
B GCD_Loop
|
|
|
|
GT_A_B
|
|
SUB r0, r0, r1
|
|
B GCD_Loop
|
|
|
|
GCD_Done
|
|
LDR r2, =result
|
|
STR r0, [r2]
|
|
|
|
LoopForever
|
|
B LoopForever
|
|
|
|
ALIGN
|
|
|
|
AREA MYDATA, DATA, READWRITE
|
|
numA DCD 48
|
|
numB DCD 18
|
|
result DCD 0
|
|
|
|
END |