LM3000 Numbers 0-9 Squared Program
From BenningtonWiki
R0 = Number being squared, 0≤n≤9
R1 = “Counter,” times left to add. (when R1 = 0, pulse the display)
R2 = Partial sums (will display when pulsed)
R3 = Total Sum
00 MOV R0 #0 start at zero 01 MOV R2 #0 02 MOV A R0 Is R0 at ten? 03 MOV B #10 04 CMP 05 BEQ 00 If yes, set to zero. 06 MOV R1 R0 Set counter to n 07 MOV R3 R2 Display total sum 08 MOV R2 #0 Clear total 09 MOV A R1 Is counter = zero? 10 MOV B #0 11 CMP 12 BNE 17 If not, skip ahead. 13 MOV A R0 If so, n = n+1 14 MOV B 1 15 ADD R0 16 BRA 02 Go back, check if n = 10, set R1 = n 17 MOV A R0 Add, R2 = n + R2 18 MOV B R2 19 ADD R2 20 MOV A R1 Subtract, R1 = R1 – 1 21 MOV B #1 22 SUB R1 23 BRA 09
