SteelGolem icon

BASIC ASM 3

SteelGolem | PRO | 12/31/21 02:22:28 AM UTC (Edited) | 0 ⭐ | 376 šŸ‘ļø | Never ā° | []
text |

820 B

|

None

|

0 šŸ‘

/

0 šŸ‘Ž

10 M0=32768:M=M0 :REM MEM START
20 FOR D=1 TO 2
30 :READ D$
40 :OP$=LEFT$(D$,3)
50 :IF OP$="INC" THEN GOSUB 1000
60 :IF OP$="RTS" THEN GOSUB 1100
70 NEXT D
80 SYS M0        :REM EXECUTE!
90 END
1000 REM ---- INC ----
1010 POKE M,238:M=M+1
1020 L=LEN(D$)
1030 HX$=MID$(D$,L-1,2)
1040 GOSUB 5000
1050 POKE M,HX:M=M+1
1060 HX$=MID$(D$,L-3,2)
1070 GOSUB 5000
1080 POKE M,HX:M=M+1
1090 RETURN
1100 REM ---- RTS ----
1110 POKE M,96:M=M+1
1120 RETURN
5000 REM -- 1 BYTE STR TO INT --
5010 REM    IN:HX$  OUT:HX
5020 C0=ASC("0"):CA=ASC("A")
5030 C$=RIGHT$(HX$,1):C=ASC(C$)
5040 IF C$<"A" THEN HX=C-C0
5050 IF C$>="A" THEN HX=10+C-CA
5060 C$=LEFT$(HX$,1):C=ASC(C$)
5070 IF C$<"A" THEN HX=HX+16*(C-C0)
5080 IF C$>="A" THEN HX=HX+16*(10+C-CA)
5090 RETURN
8000 REM ---- ASM ----
8010 DATA "INC $D020"
8020 DATA "RTS"

Comments