29 lines
733 B
Plaintext
29 lines
733 B
Plaintext
REM >subleq
|
|
DIM memory%(255)
|
|
counter% = 0
|
|
INPUT "SUBLEQ> " program$
|
|
WHILE INSTR(program$, " ")
|
|
memory%(counter%) = VAL(LEFT$(program$, INSTR(program$, " ") - 1))
|
|
program$ = MID$(program$, INSTR(program$, " ") + 1)
|
|
counter% += 1
|
|
ENDWHILE
|
|
memory%(counter%) = VAL(program$)
|
|
counter% = 0
|
|
REPEAT
|
|
a% = memory%(counter%)
|
|
b% = memory%(counter% + 1)
|
|
c% = memory%(counter% + 2)
|
|
counter% += 3
|
|
IF a% = -1 THEN
|
|
INPUT "SUBLEQ> " character$
|
|
memory%(b%) = ASC(character$)
|
|
ELSE
|
|
IF b% = -1 THEN
|
|
PRINT CHR$(memory%(a%));
|
|
ELSE
|
|
memory%(b%) = memory%(b%) - memory%(a%)
|
|
IF memory%(b%) <= 0 THEN counter% = c%
|
|
ENDIF
|
|
ENDIF
|
|
UNTIL counter% < 0
|