Für Analyse SumToN
This commit is contained in:
45
projects/04/tests/SumToN.asm
Normal file
45
projects/04/tests/SumToN.asm
Normal file
@@ -0,0 +1,45 @@
|
||||
// Program: Sum1ToN (R0 represents N)
|
||||
// Computes R1 = 1 + 2 + 3 + ... + R0
|
||||
// Usage: put a value >= 1 in R0
|
||||
// i = 1
|
||||
|
||||
|
||||
|
||||
|
||||
@i
|
||||
M=1
|
||||
// sum = 0
|
||||
|
||||
@sum
|
||||
M=0
|
||||
|
||||
(LOOP) // if (i > R0) goto STOP
|
||||
@i
|
||||
D=M
|
||||
@R0
|
||||
D=D-M
|
||||
@STOP
|
||||
D;JGT // sum = sum + i
|
||||
@sum
|
||||
D=M
|
||||
@i
|
||||
D=D+M
|
||||
@sum
|
||||
M=D
|
||||
// i = i + 1
|
||||
@i
|
||||
M=M+1 // goto LOOP
|
||||
|
||||
@LOOP
|
||||
0;JMP
|
||||
|
||||
(STOP)
|
||||
// R1 = sum
|
||||
@sum
|
||||
D=M
|
||||
@R1
|
||||
M=D // infinite loop
|
||||
|
||||
(END)
|
||||
@END
|
||||
0;JMP
|
||||
Reference in New Issue
Block a user