0 FOR P = 1 TO 5: READ S$: PRINT S$" : ";: FOR MEM = 0 TO 31: ON LEN (S$) > 0 GOSUB 90:A = VAL (S$): GOSUB 2: NEXT MEM: GOSUB 7: PRINT A: NEXT P: END 1 LET A = V: RETURN 2 LET P$ = MID$ (P$,1,MEM) + CHR$ (A) + MID$ (P$,MEM + 2,31 - MEM): PRINT MID$ ("",1 ^ FRE (0));: RETURN 3 LET A = A + V:A = A - 256 * (A > 255): RETURN 4 LET A = A - V:A = A + 256 * (A < 0): RETURN 5 IF A > 0 THEN RETURN 6 LET PC = MEM: RETURN 7 LET PC = 0 8 LET A = 0 9 FOR OP = 0 TO 7 STEP 0 10 LET PC = PC + 1 - 32 * (PC = 32) 20 LET I = ASC ( MID$ (P$,PC,1)) 30 LET OP = INT (I / 32) 40 LET MEM = I - OP * 32 50 LET V = ASC ( MID$ (P$,MEM + 1,1)) 60 ON OP GOSUB 1,2,3,4,5,6 70 NEXT OP 80 RETURN 90 READ S$: RETURN 100 DATA "2+2",35,100,224,2,2, 200 DATA "7*8",44,106,76,43,141,75,168,192,44,224,8,7,0,1, 300 DATA "FIBONACCI",46,79,109,78,47,77,48,145,171,80,192,46,224,1,1,0,8,1, 400 DATA "LINKED LIST",45,111,69,112,71,0,78,0,171,79,192,46,224,32,0,28,1,0,0,0,6,0,2,26,5,20,3,30,1,22,4,24 500 DATA "PRISONER",0,0,224,0,0,35,157,178,35,93,174,33,127,65,194,32,127,64,192,35,93,33,126,99,