10 B=16:FORT=0TO29:PRINT:NEXTT 15 Z=P:C=4:GOSUB570:PRINT:PRINT:PRINTZ$;:INPUTZ$:Y$="":T$=Z$ 20 FORI=1TOLEN(Z$):X$=MID$(Z$,I,1):IFX$>"Z"ORX$<"!"GOTO30 25 Y$=Y$+X$ 30 NEXTI:A$="":S$="":Z$=MID$(Y$,4) 35 FORI=1TOLEN(Z$):X$=MID$(Z$,I,1) 40 IFX$>"/"ANDX$<":"ORX$>"?"ANDX$<"G"THENA$=A$+X$:GOTO50 45 S$=S$+X$ 50 NEXTI:H=LEN(A$)+1:I$=LEFT$(Y$,4):IF"LIST"=I$GOTO375 55 IF"SAVE"=I$GOTO585 60 I$=LEFT$(I$,3):IF"END"=I$THENEND 65 IF"DFB"=I$GOTO330 70 IF"DFW"=I$GOTO320 75 IF"ORG"=I$GOTO290 80 IF"RUN"=I$GOTO300 85 ONHGOTO 95,110,120, 90,155 90 PRINT" ILLEGAL OPERAND !":GOTO15 95 IFLEN(S$)=0THENM$="1":GOTO180 100 IFS$<>"S"GOTO 90 105 M$="3":GOTO180 110 IFA$<>"A"ORLEN(S$)<>0GOTO 90 115 M$="0":GOTO180 120 IFLEN(S$)=0THENM$="4":GOTO180 125 IFS$="#"THENM$="5":GOTO180 130 IFS$=".X"THENM$="6":GOTO180 135 IFS$=".Y"THENM$="7":GOTO180 140 IFS$="(.X)"THENM$="8":GOTO180 145 IFS$="().Y"THENM$="9":GOTO180 150 GOTO 90 155 IFS$=""THENM$="A":GOTO180 160 IFS$=".X"THENM$="B":GOTO180 165 IFS$=".Y"THENM$="C":GOTO180 170 IFS$="()"THENM$="D":GOTO180 175 GOTO 90 180 RESTORE:A=0:F=0:FORI=1TO50 185 READX$:N=VAL(RIGHT$(X$,1)):IFI$=LEFT$(X$,3)THENF=1:N0=N 190 IFF=1GOTO200 195 A=A+N 200 NEXTI:IFF=1GOTO210 205 PRINT" WRONG MNEMONIC !":GOTO15 210 F=0:IFA=0GOTO220 215 FORI=1TOA:READX$:NEXTI 220 FORI=1TON0:READX$:IFLEFT$(X$,1)="E"GOTO235 225 IFLEFT$(X$,1)=M$GOTO245 230 NEXTI:GOTO 90 235 IFM$="4"ORM$="A"THENF=1:GOTO245 240 GOTO 90 245 Z$="0"+A$:GOSUB540:D=Z:IFF=0ORM$="4"GOTO270 250 D=D-P-2:M$="4":IFD<128ANDD>-129GOTO260 255 PRINT" OFFSET TOO LARGE !":GOTO15 260 IFD<0THEND=D+256 265 Z=D:C=2:GOSUB570:A$=Z$ 270 Z$=RIGHT$(X$,2):GOSUB540:POKEP,Z:P=P+1:PRINTSPC(14)Z$" "; 275 IFM$<"4"GOTO15 280 Z$=RIGHT$(A$,2):PRINTZ$" ";:GOSUB540:POKEP,Z:P=P+1:IFM$<"A"GOTO15 285 Z$=LEFT$(A$,2):PRINTZ$" ";:GOSUB540:POKEP,Z:P=P+1:GOTO15 290 IFH<>5ORLEN(S$)<>0GOTO90 295 Z$=A$:GOSUB540:P=Z:GOTO15 300 IFH<>5ORLEN(S$)<>0GOTO90 305 Z$=RIGHT$(A$,2):GOSUB540:POKE11,Z:Z$=LEFT$(A$,2):GOSUB540:POKE12,Z 310 INPUT" X";Z$:GOSUB540:IFZ>32767THENZ=Z-65536 315 PRINTUSR(Z):GOTO15 320 IFH<>5ORLEN(S$)<>0GOTO 90 325 M$="A":PRINTSPC(14);:GOTO280 330 IFH=3ANDLEN(S$)=0THENM$="4":PRINTSPC(14);:GOTO280 335 Z$=MID$(T$,4):F=0:G=0:FORI=1TOLEN(Z$):X$=MID$(Z$,I,1):IFF=1GOTO360 340 IFX$="'"THENF=1:GOTO350 345 G=0:GOTO370 350 IFG=1THENG=0:GOTO365 355 GOTO370 360 IFX$="'"THENF=0:G=1:GOTO370 365 POKEP,ASC(X$):P=P+1 370 NEXTI:GOTO15 375 IFH=9ANDS$="T-"GOTO390 380 IFH<>5ORS$<>"T"GOTO90 385 Z$=A$:GOSUB540:P=Z:E=P:GOTO395 390 Z$=LEFT$(A$,4):GOSUB540:P=Z:Z$=RIGHT$(A$,4):GOSUB540:E=Z 395 IFP>EGOTO15 400 Z=P:C=4:GOSUB570:PRINT:PRINTZ$" ";:Z=PEEK(P):P=P+1:C=2:GOSUB570 405 RESTORE:FORI=1TO50:READX$:NEXTI 410 FORN=1TO150:READX$:IFZ$=RIGHT$(X$,2)GOTO420 415 NEXTN:PRINT" "Z$" !":GOTO395 420 RESTORE:M$=LEFT$(X$,1) 425 READX$:N=N-VAL(RIGHT$(X$,1)):IFN>0GOTO425 430 PRINTLEFT$(X$,3)" ";:IFM$>"3"GOTO450 435 IFM$="3"THENPRINT"S":GOTO395 440 IFM$="0"THENPRINT"A":GOTO395 445 PRINT:GOTO395 450 IFM$>"9"GOTO495 455 Z=PEEK(P):P=P+1:C=2:GOSUB570 460 ONVAL(M$)-4GOTO470,475,480,485,490 465 PRINTZ$:GOTO395 470 PRINT"#"Z$:GOTO395 475 PRINTZ$".X":GOTO395 480 PRINTZ$".Y":GOTO395 485 PRINT"("Z$".X)":GOTO395 490 PRINT"("Z$").Y":GOTO395 495 IFM$>"D"GOTO530 500 Z=PEEK(P)+256*PEEK(P+1):P=P+2:C=4:GOSUB570 505 ONASC(M$)-65GOTO515,520,525 510 PRINTZ$:GOTO395 515 PRINTZ$".X":GOTO395 520 PRINTZ$".Y":GOTO395 525 PRINT"("Z$")":GOTO395 530 Z=PEEK(P):P=P+1:IFZ>127THENZ=Z-256 535 M=Z:Z=P+Z:C=4:GOSUB570:PRINTZ$" ("M")":GOTO395 540 Z=0:IFB>36ORB<2THENPRINT"ERROR":RETURN 545 FORI=1TOLEN(Z$):A=ASC(MID$(Z$,I,1))-48:IFA<0ORA>9ANDA<17GOTO 565 550 IFA>16THENA=A-7 555 IFA>=BGOTO565 560 Z=Z*B+A 565 NEXTI:RETURN 570 Z$="":IFB>36ORB<2THENPRINT"ERROR":RETURN 575 FORI=1TOC:L=INT(Z/B):A=INT(B*(Z/B-L)+.1):IFA>9THENA=A+7 580 Z$=CHR$(A+48)+Z$:Z=L:NEXTI:RETURN 585 A$=MID$(A$,2):IFH<>10ORS$<>"-"GOTO90 590 Z$=RIGHT$(A$,4):GOSUB540:E=Z:Z$=LEFT$(A$,4):GOSUB540:P=Z:D=61441 595 IFP>EGOTO15 600 A=46:GOSUB620:FORI=1TO4:A=ASC(MID$(Z$,I)):GOSUB620:NEXTI:A=47:C=2 605 GOSUB620:Z=PEEK(P):P=P+1:GOSUB570:A=ASC(Z$):GOSUB620 610 A=ASC(RIGHT$(Z$,1)):GOSUB620:A=13:IFP=