Add ES/Lab/LAB4/GCD.asm
This commit is contained in:
parent
0afb3ab4bd
commit
c51f88103e
1 changed files with 41 additions and 0 deletions
41
ES/Lab/LAB4/GCD.asm
Normal file
41
ES/Lab/LAB4/GCD.asm
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
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
|
Loading…
Add table
Add a link
Reference in a new issue