Execute Computer/Zero: Difference between revisions

Applesoft BASIC
(→‎{{header|Lua}}: added Lua solution)
(Applesoft BASIC)
Line 109:
</pre>
 
=={{header|Applesoft BASIC}}==
<lang gwbasic> 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,</lang>
=={{header|J}}==
 
413

edits