// 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