5 DIMH(15):FORI=0TO9:H(I)=48+I:NEXT:FORI=10TO15:H(I)=55+I:NEXT 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=1TO151: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 S=61440:IFP>EGOTO15 596 PRINT:INPUT"TITLE";A$ 597 FORI=1TO6:WAITS,1:POKED,ASC(MID$(".D206/",I,1)):NEXT 598 FORI=1TOLEN(A$):Z=ASC(MID$(A$,I,1)):A=INT(Z/16):B=Z-16*A 599 WAITS,1:POKED,H(A):WAITS,1:POKED,H(B):WAITS,1:POKED,13:NEXT 600 WAITS,1:POKED,46:Z=INT(P/256):C=P-256*Z:A=INT(Z/16):B=Z-16*A 602 WAITS,1:POKED,H(A):WAITS,1:POKED,H(B):A=INT(C/16):B=C-16*A 604 WAITS,1:POKED,H(A):WAITS,1:POKED,H(B):WAITS,1:POKED,47 610 Z=PEEK(P):A=INT(Z/16):B=Z-16*A:WAITS,1:POKED,H(A):WAITS,1 612 POKED,H(B):WAITS,1:POKED,13:P=P+1:IFP<=EGOTO610 620 B=16:GOTO15 625 DATAADC8,AND8,ASL5,BCC1,BCS1,BEQ1,BIT2,BMI1,BNE1,BPL1,BRK1,BVC1 630 DATABVS1,CLC1,CLD1,CLI1,CLV1,CMP8,CPX3,CPY3,DEC4,DEX1,DEY1,EOR8 635 DATAINC4,INX1,INY1,JMP2,JSR1,LDA8,LDX7,LDY6,LSR5,NOP1,ORA8,PHA1 640 DATAPHP1,PLA1,PLP1,ROL5,ROR5,RTI1,RTS1,SBC8,SEC1,SED1,SEI1,STA7 645 DATA STX5,STY4 650 DATA569,A6D,465,861,971,675,B7D,C79,529,A2D,425,821,931,635,B3D 655 DATAC39,A0E,406,00A,616,B1E,E90,EB0,EF0,A2C,424,E30,ED0,E10,100 660 DATAE50,E70,118,1D8,158,1B8,5C9,ACD,4C5,8C1,9D1,6D5,BDD,CD9,5E0 665 DATAAEC,4E4,5C0,ACC,4C4,ACE,4C6,6D6,BDE,1CA,188,549,A4D,445,841 670 DATA951,655,B5D,C59,AEE,4E6,6F6,BFE,1E8,1C8,A4C,D6C,A20,5A9,AAD 675 DATA4A5,8A1,9B1,6B5,BBD,CB9,5A2,AAE,4A6,CBE,7B6,0AA,3BA,5A0,AAC 680 DATA4A4,6B4,BBC,0A8,A4E,446,04A,656,B5E,1EA,509,A0D,405,801,911 685 DATA615,B1D,C19,148,108,168,128,A2E,426,02A,636,B3E,A6E,466,06A 690 DATA676,B7E,140,160,5E9,AED,4E5,8E1,9F1,6F5,BFD,CF9,138,1F8,178 695 DATAA8D,485,881,991,695,B9D,C99,A8E,486,796,08A,39A,A8C,484,694 700 DATA098 999