\!\?A\D:\A86RG "5200P A%prts>v1w(v1)v1e=8:er:ip FMpc=i(v1,v1):pcs=pc:pc65535pc=1e6t$:e=10 :er:ip Kend P"pc=1e6t$e=11 :er:ip USb$=p$((line-v1)*v32+6(line-v1)*v32+10 ):b$" "l=pc:8300l W 5245} Zm$="LD "5260 d 5400 n"EXX ",217,v0,"DAA ",39',v0,"CPL ",47/,v0,"NEG ",ED,68D,"CCF ",63?,v0,"SCF ",557,v0,"RETI",ED,77M,"RETN",ED,69E oL"RLCA",7,v0,"RRCA",15,v0,"RLA ",23,v0,"RRA ",31,v0 p"LDI ",ED,160,"LDIR",ED,176,"LDD ",ED,168,"LDDR",ED,184,"CPI ",ED,161,"CPIR",ED,177,"CPD ",ED,169,"CPDR",ED,185 q"INI ",ED,162,"INIR",ED,178,"IND ",ED,170,"INDR",ED,186,"OUTI",ED,163,"OTIR",ED,179,"OUTD",ED,171,"OTDR",ED,187 r"NOP ",v0,v0,"HALT",118v,v0,"DI ",243,v0,"EI ",251,v0,"IM0 ",ED,70F,"IM1 ",ED,86V,"IM2 ",ED,94^ },a=v1v2:m$="JR "m$="DJNZ"rj=128 ~w(a)=v4w(a)=v1:l=i(v4,a):8200 :i(v1,a)=lab+256*val:rji(v1,a)i(v1,a)=i(v1,a)-(pc+v1):i(v1,a)10 v=ED:pk:v=87W+8*(i(v2,v2)=12 ):pk:end qw(v1)=v2w(v2)=v2i(v2,v2)=8i(v2,v1)>10 v=ED:pk:v=71G+8*(i(v2,v2)=12 ):pk:end ȱw(v1)=v3w(v2)=v1i(v3,v1)v4i(v1,v2)65535i(v3,v1)5v=v1+(i(v3,v1)-v1)*16-(16*(i(v3,v1)=5)):pk:v=l(i(v1,v2)):pk:v=h(i(v1,v2)):pk:end ͞w(v1)=v3w(v2)=v1i(v3,v1)>5i(v1,v2)65535v=221+v32*(i(v3,v1)=7):pk:v=33!:pk:v=l(i(v1,v2)):pk:v=h(i(v1,v2)):pk:end M(w(v1)=v3w(v2)=7i(v3,v1)v4i(7,v2)65535)5350 #5345:a=v1i(v3,v1):b,c:a v=b:pk:cv=c:pk 7v=l(i(7,v2)):pk:v=h(i(7,v2)):pk:end ^ED,75K,ED,91[,42*,v0,v0,v0,ED,123{,221,42*,253,42* M(w(v1)=7w(v2)=v3i(v3,v2)v4i(7,v1)65535)5370 #5365:a=v1i(v3,v2):b,c:a v=b:pk:cv=c:pk 7v=l(i(7,v1)):pk:v=h(i(7,v1)):pk:end ^ED,67C,ED,83S,34",v0,v0,v0,ED,115s,221,34",253,34" Fw(v1)=v3w(v2)=v3i(v3,v1)=5i(v3,v2)=v3v=249:pk:end sw(v1)=v3w(v2)=v3i(v3,v1)=5i(v3,v2)>5v=221+v32*(i(v3,v2)=7):pk:v=249:pk:end e=8:er:ip m$"PUSH"5450J %prtsv1w(v1)v3e=8:er:ip "?i(v3,v1)<5v=197+16*(i(v3,v1)-v1):pk:end ,Pi(v3,v1)>5v=221+v32*(i(v3,v1)=7):pk:v=229:pk:end 6e=8:er:ip Jm$"POP "5500| O%prtsv1w(v1)v3e=8:er:ip T?i(v3,v1)<5v=193+16*(i(v3,v1)-v1):pk:end ^Pi(v3,v1)>5v=221+v32*(i(v3,v1)=7):pk:v=225:pk:end he=8:er:ip |45505:a=v18:a$:a$m$a:5550 ~prtsv15530 9"ADD ","ADC ","SUB ","SBC ","AND ","XOR ","OR ","CP " Lw(v1)=v2i(v2,v1)<9 v=128+(a-v1)*8+i(v2,v1)-v1:pk:end Mw(v1)=v1i(v1,v1)<256v=190+a*8:pk:v=i(v1,v1):pk:end w(w(v1)=8w(v1)=9 )v=221+v32*(w(v1)=9 ):pk:v=126~+8*a:pk:v=i(w(v1),v1):pk:end 8(av1av2av4)prtsv2w(v1)v3w(v2)v35549 va=v1i(v3,v1)=v3i(v3,v2)5i(v3,v2)v4v=(i(v3,v2)-v1)*16+9 -16*(i(v3,v2)=5):pk:end (a=v4a=v2)i(v3,v1)=v3i(v3,v2)5i(v3,v2)v4v=ED:pk:v=(i(v3,v2)*16+502-16*(i(v3,v2)=5))+8*(a=v2):pk:end i(v3,v1)65542 !5540:b=v1i(v3,v2):c:b -9 ,25,v0,v0,579,41),v0 "cv=221:pk:v=c:pk:end i(v3,v1)75549 !5546:b=v1i(v3,v2):c:b -9 ,25,v0,v0,579,v0,41) "cv=253:pk:v=c:pk:end e=8:er:ip !m$"INC "m$"DEC "5600 prtsv15549 Lw(v1)=v2i(v2,v1)<9 v=(i(v2,v1)-v1)*8+v4+(m$="DEC "):pk:end aw(v1)=v3i(v3,v1)5i(v3,v1)v4v=16*(i(v3,v1)-v1)+v3+8*(m$="DEC "):pk:end hw(v1)>7v=221+(w(v1)=9 )*v32:pk:v=524+(m$="DEC "):pk:v=i(w(v1),v1):pk:end lw(v1)=v3i(v3,v1)>5v=221+v32*(i(v3,v1)=7):pk:v=35#+8*(m$="DEC "):pk:end  5549 m$="BIT "a=v1:5610 m$="RES "a=v2:5610 m$="SET "a=v3:5610  5650 prtsv25549 a=(a-v1)*8+i(v1,v1) w(1)=1(w(2)=8w(2)=9 )i(w(2),2)<256v=221+v32*(w(2)=9 ):pk:v=20#:pk:v=i(w(2),2):pk:v=a*8+70F:pk:end D(w(v1)=v1w(v2)=v2i(v1,v1)<8i(v2,v2)<9 )5640 9v=203:pk:v=a*8+63?+i(v2,v2):pk:end  5549 8(w(v1)=v1w(v2)>7i(v1,v1)<8)5549  hv=221+(w(v1)=9 )*v32:pk:v=203:pk:v=i(w(v1),v2):pk:v=a*8+70F:pk:end m$"RST "5700D Wprtsv1w(v1)v1i(v1,v1)>568(i(v1,v1)/8ɺ(i(v1,v1)/8))5549 v=i(v1,v1)+199:pk:end Dm$"JP "5750v Ibprts(prts=v1w(v1)v1w(v1)v2)(prts=v1rloc)(prts=v2(w(v1)5w(v2)v1))5549 NMprts=v1rlocv=195:pk:v=l(i(v1,v1)):pk:v=h(i(v1,v1)):pk:end Xcw(v1)=5v=i(5,v1)*8+186:pk:v=l(i(v1,v2)):pk:v=h(i(v1,v2)):pk:end bLrlocprts=v1rloc>v2v=221+v32*(rloc=v4):pk:v=233:pk:end l9w(v1)=v2i(v2,v1)=7prts=v1v=233:pk:end q 5549 vm$"CALL"5800 D((prts=v1w(v1)=v1)(prts=v2w(v1)=5w(v2)=v1))5549 prts=v1v=205:pk 0prts=v2v=i(5,v1)*8+188:pk 1v=l(i(v1,prts)):pk:v=h(i(v1,prts)):pk:end m$"JR "5850 Z((prts=v1w(v1)=v1)(prts=v2w(v1)=5i(5,v1)<5w(v2)=v1))5549 +i(5,v1)=1e6t$i(5,v1)=v0 =v=24+8*i(5,v1):pk:v=i(v1,prts):pk:end m$"DJNZ"5870 prtsv1w(v1)v15549 %v=16:pk:v=i(v1,v1):pk:end m$"RET "5900  prtsv=201:pk:end Cprts=v1w(v1)=5v=i(5,v1)*8+184:pk:end  5549  45910:a=v18:a$:a$m$a:6000p ["RLC ","RRC ","RL ","RR ","SLA ","SRA ","SLL ","SRL ":Note 'SLL' is not given in book  Bprtsv1((w(v1)=v2i(v2,v1)<9 )w(v1)>7)5549 %w(v1)>75950> *v=203:pk 4'v=8*(a-v1)+i(v2,v1)-v1:pk:end >6v=221+v32*(w(v1)=9 ):pk:v=203:pk H6v=i(w(v1),v1):pk:v=(a-v1)*8+6:pk:end p!m$"RLD "m$"RRD "6050 z/prtsv1w(v1)v2i(v2,v1)75549 4v=ED:pk:v=103g+8*(m$="RLD "):pk:end m$"IN "6100 kprts=v2w(v2)=7i(7,v2)<256i(v2,v1)=8v=219:pk:v=i(7,v2):pk:end lrloc=v1prts=v2w(v1)=v2i(v2,v1)<9 i(v2,v1)7v=ED:pk:v=568+i(v2,v1)*8:pk:end  5549 m$"OUT "6150 kprts=v2w(v1)=7i(7,v1)<256i(v2,v2)=8v=211:pk:v=i(7,v1):pk:end qprts=v2rloc=v1w(v2)=v2i(v2,v2)<9 i(v2,v2)7v=ED:pk:v=65A+(i(v2,v2)-v1)*8:pk:end  5549 m$"EX "62008 prtsv25549 -i(v3,v1)=v4i(v3,v2)=v4v=8:pk:end /i(v3,v1)=v2i(v3,v2)=v3v=235:pk:end $+rloc=v2i(v3,v2)=v3v=227:pk:end )Xrloc=v2i(v3,v2)>5v=221+v32*(i(v3,v2)=7):pk:v=227:pk:end . 5549 8m$"DEFB"6250j B1prtsv1w(v1)v1i(v1,v1)>2555549 Lv=i(v1,v1):pk:end jm$"DEFW"6300 t3prtsv1w(v1)v1i(v1,v1)>655355549 ~-v=l(i(v1,v1)):pk:v=h(i(v1,v1)):pk:end 95230n:a=v135#:a$,b,c:a$m$a:6400 v=b:pk:cv=c:pk end m$"DEFS"64502  8prtsv1w(1)v1i(v1,v1)>655355549 pc=pc+i(v1,v1):end 2m$"END "6500d <prtsv05549 F:6996T dm$"DEFM"6600 nc$"65535"e=v2:er:ip P!:line=line+v1:line>n"6996" Qjp$((line-v1)*v32+12 (line-v1)*v32+15)="ORG "pc1e6t$"BLOCK LENGTH: ";pc-pcs;" bytes"' S 5120 Td"BLOCK LENGTH: ";pc-pcs;" bytes"''"ASSEMBLY COMPLETE":a="((23672+256*23673+65536*23674)/50)" U6"TIME TAKEN: ";(a/"60");"m";a-"60"*(a/"60");"s" VFr$''"LABELS NOT DEFINED:":a=v1̱r$v3:l$(r$(a)):a:e="9":er Wip X analyze a$ l-a=v1̱a$:a$(a)","a:prts=v1:7022n m 7025q n#a$=v0prts=v0:splt=v1:"7500" osplt=a$+v1:7500L q prts=v2 sa=v1a=a$e=8: vsplt=a LI.A. sequencer QFa=111 :i(a,v1)=1e6t$:i(a,v2)=1e6t$:a:rloc=v0 V prts [c$=a$:a$=a$(splt-v1) `b=v1:3200 t prts5l=v0:e="5": Qb$=b$+" "(5-b$) T a=v1nlab ^l$(a)=b$l=a: ha:l=v0:e="9": which is set? b=v1v2:a=v111 &i(a,b)1e6t$w(b)=a:8150  a:w(b)=v1 b: find lab or set request l neg=v0:l=-v1l=-l:neg=v1 ,l(l)=1e6t$lab=v0:val=v0:8260D ,lab=l(l):neglab=256-lab:val=v0: &lab=-v18250: +val=h(lab):lab=l(lab) 0 :lab=256+lab:val=v0: Dr$=r$+(l+rj)+¨l(pc)+¨h(pc) N lenter lab b$ to l()... v a=v1nlab l$(a)=b$l(a)=l:8350 a:e="9": ...and check for req !l=a:val=h(l(l)):lab=l(l(l)) a=v1̱r$v3 ?r$(a)-128*(r$(a)>128)=l8390 :8370 a: #loc=r$(a+v1)+256*r$(a+v2) b=v0v4:(b+loc)b: loc=loc+b Hr$(a)>128lab=(l(l)-loc)-v1:val=v0:labpc,v:pc=pc+v1 !HH(s(v)+7*(s(v)>579));:(u(v)+7*(u(v)>579)); !R &variable setup &a=ç &Db=a:v0=a:v1="1":v2="2":v32="32":v3="3":v4="4":s=a:l=a &p$="":m$(4) &i("11",v2):w(v2) &n=a:lab=a:val=a:num=a &v=a:pc=a:ED="237" &nlab=a &0pk="8500":end="6990":ip="100":li="1000" &"23658","8" ' er="3500" 'rtop="1+23730+256*23731" '  3 slRET s t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$ naeau(vkla4!nNd toec`inrtpllocP0010 ORG 60000 0020 LD HL,61000 0030 LD B,31 0040 LOOP IN A,(254) 0050 LD (HL),A 0060 DJNZ LOOP 0070 RET e LOOP RCLOOPeB A100d NEW  1 21  3674z\)/502)  LD B,31 0040 LOOP IN A,(254) 0010 ORG 60000 0020 LD HL,61000 0030 LD B,31 0040 LOOP IN A,(254) 0050 LD (HL),A 0060 DJNZ LOOP 0070 RET _ MgM3b3bM P  7MM\!;a! v>*K\>A(͸#^#V> 0 #C!dM~ ( ݾ ##~ ((~# #!"@+~ #"@7!|(0 }0LD PUSH POP EX EXX ADD ADC SUB SBC AND XOR OR CP INC DEC DAA CPL NEG CCF SCF JP JR CALL DJNZ RET RETI RETN RLCA RRCA RLA RRA RLC RRC RL RR SLA SRA SLL SRL RLD RRD LDI LDIR LDD LDDR CPI CPIR CPD CPDR BIT RES SET IN INI INIR IND INDR OUT OUTI OTIR OUTD OTDR RST NOP HALT DI EI IM0 IM1 IM2 ORG EQU DEFS DEFB DEFW DEFM END !Hw (G:( 4 *]\!(]u(_ (a(\(W(R"]\5 lKv\:n :n  K> ͨ2ͨ02͂Ôx2͌0%(=:(" > 6+! 0: Bx(  # G:ʊͲ(0 !:=(pŠ0%(#~w #~w #q>q(   0> :("(]> :@w(>$> NKx > > > K> *BDM> K> K+--> ͙q p6*Y\[S\7Ru t *K\Rut:ʵ u7s0:( l>6R~ݾ 0G:x( ! ~< yO#  :(y :(> u~( :=ʖnf^ V |(R8'(~| n f:7 >s^ V |  nf7R8 DM~(=|(+F+N+"_\*_\*Y\+N F ~U#w#s#r#7>*Y\+"_\N F U*_\#NF "K\f| n "B\6 7>N F 67>[S\:($= >n u> n u2v^ V >!?!(! +>G- %/> 7 ;o z( n|g>7lyx0B> < #1>z< ;>!? O0!+| 00>Ƹ0$ 0x0yO& 0uyO~#.>˸0|gz |>TURBOLOAD  1985 EKH BAUD START TAPE AND PRESS ANY KESTART LINESTART ADDRESSLENGTH OF DATA BLOCKARRAY NAMEPROGRAM LENGTHLENGTH OF VARIABLES PROGRAM NUMBER ARRAY CHARACTER ARRAY BYTES0OUc;B>17=:-295(.41$)0,%+(!'$ "   33333MMZ?ZD8Wq !v>>BB<DHpHDB@~BfZBBBBbRJFBB<<~ <<~<@xB@ < <<<<xB~@<<| <<~<|~2FF(FBBB@FFFF FFBF@DB@@(FFFFFBF@DBB( FFF@BBBbBB@ FF@F@DB@B FF@FDb@BBB FFFB@2JJJBB@|JJJJ JJJ@B~@|JJJJJ J@B|  JJ(J@BBBRB|( JJ|J@B~@B JJ|JBR@BBB JJJB|2RRRB|NBRRRR RR<<<<<<<<~x|<> <<<~<<@>BB~< <<<<~xB~ B <<<<xv4a$(v4)="LIST""140" "150" )a="5"̱a$:a$(a)<"0"a$(a)>"9""150" )a:num=a$("5"):"2200":"1100":ip a$="LOAD""3000" a$="SAVE""3100"::ip a$="RENUMBER""1200":li:ip a$="ASSEMBLE"5000 )a$=10 a$(̰"5")="RTOP=""600" Za$=v4a$(v3)="INK"a$(v4)"0"a$(v4)"9"ٰa$(v4)::li:23624H\,22528X:ip a$=6a$(5)="PAPER"a$(6)"0"a$(6)"9"ڰa$(6):a$(6)::li:23624H\,22528X:ip a$"NEW"200 )"Sure? ";a$:a$>v0a$(v1)="Y""20" ip 4a=v1̱a$:n(a)a:num=a$:2200:202 205 n:ip Bp$(l*v32+v1l*v32+v4)=nums=l+v1:21004::n=n-v1:li:ip li:ip a=v1e="6":er:ip a$>v32e=v4:er:li:ip 7n>(220+((rtop-"55000")/v32))/v2e=v2:er:ip e=a:a$=a$+°"255" *s=rtop:s=(s/256):s500 'a$>11 s=12 -s:230 s=a$-s 8b$="":b=v0:a=s̱a$:a$(a)=" "a$(a)=255b=v1 bb$=b$+a$(a):a: "a$(a)=v32a$(a)255a: +a$=a$(s-v1)+b$+" "(̰"5"-b$)+a$(a) b$=a$(es-v1) +b$>v0b$(v1)=" "b$=b$(v2):285 0b$>v0b$(b$)=" "b$=b$(̱b$-v1):286 " b$>5e=5:er:ip ,Bb$=" "+b$+" "(̰"6"-b$):a$=a$(e-v1)+b$+a$(s̱a$-1) 1b$=a$(e-v1) 6%b$="0000"(v4-b$)+b$:a$=b$+a$(e) Ea$>v32e=v4:er:ip G3a$=a$+" "(a$+v1) Jnum=a$(v4):2200 Tl=np$=p$+a$:n=n+v1:li:ip ^Vnum=p$(l*v32+v1l*v32+v4)p$=p$(l*v32)+a$+p$((l+v1)*v32+v1):l=l+2:li:ip h=p$=p$(l*v32)+a$+p$(l*v32+v1):n=n+v1:l=l+2:li:ip a$-e>"5"ne=v3:er:ip /num=a$(e-v1):2200:lne=v3:er:ip #a$=a$(e):a$=a$+" "(a$+v1) (p$(l*v32+"6"l*v32+"10")=a$(̱a$-v1) li:ip X a="6"̰"10":n(a)a:"610" ]e="8":er:ip bnum=a$("6"̰"10") l#num<"55000"num>"62500""605" vYs="40":b=rtop:a=b:l=b+"107":s:a="54400":l=b+"110":s:a="500":l=b+"113":s -l="23296":a=num:s:(b+"106"):(num-v1) "9900":s="40" Gb="23296+256*23297":a="54400":l="54507":s:a=b:l="54510":s  "54506" rtop=b:"22" list last line n   lnl=n-v1 ;s=l-"21":s"21") p$(s*v32+v1(l+v1)*v32)  Llist all from l Vn ` a lnl=n: enum=v0 j a=ln-v1 t23692\,v0 ~p$(a*v32+v1(a+v1)*v32)  num=num+v1 )num22#v1;"SCROLL?":1170  1195 a$=:a$=""1170  a$="N":  :num=v0 a:  renumber n  b="10" 'a=v0n-v1:21,25;n-a;" " num=p$(a*v32+v1a*v32+v4) Cnum/100d=(num/100d)num>b+100db=num:1260 *p$(a*v32+v1a*v32+v4)="0000"(v4-b)+b  b=b+"10" a: shift up (s to n) @p$=p$(s*v32)+" "+p$(s*v32+v1)  4shift down (s to n) >n Hs Ms=v1p$=p$(33!): R"p$=p$((s-v1)*v32)+p$(s*v32+v1) \ find line num (l)  nl=v0: a=(n-v1)*v32v0-v32 p$(a+v1a+v4)=numl=a/v32: "p$(a+v1a+v4)"10""3031" 'a=v0:"Fast? (y/n)";b$:b$="Y"a=v1 :'"To exit, press break then type: 'GOTO 3070'" *a"63000":a$l$():p$=l$:3070 a$l$():p$=l$ :l$(1) n=p$/v32:nɺne=v1:er  l=v0:ip save & +-21,0;"Code or Source Program?" ,a$=:a$="""3116" -a$="C"c=v1:"3120" .a$="S"c=v0:"3120" / "3116" 0"Filename? ";a$ :a$>"10"űa$(220+((rtop-55000)/v32)/v2):"11","9";"SORRY, NO ROOM":502: ]l$(p$):l$=p$ _'s=v0:"Fast? (y/n)";b$:b$="Y"s=v1 b s"63000":a$l$():"3186" ga$l$():"3186" l*"Start loc.";a:a>"65535"a"65535""3182" q a$loc,a r="21",v0;"Verify? ":="N""3199" s"Y""3186" t#"21",v0;"On error type '3199'" u c"3195" v s"63000":a$l$():"3199" wa$l$():"3199" {!s"63000":a$loc,a:"3199" | a$loc,a l$(1): analyse a$ ña$ m$="DEFM" 5m$="JP "m$="JR "m$="RET "m$="CALL"3240 a$(1)<"A"3230 a$>43250 a$23230 27920:a=v17:b$:a$=b$i(v3,b)=a: a 37910:a=v112 :b$:a$=b$i(v2,b)=a: a:3250 47900:a=v18:b$:a$=b$i("5",b)=a: a (a=1̱a$:n(a)a:i(v1,b)=a$: a$(v1)="&"3400H a$(v1)="%"3450z >a$=v3a$(v1)=34"a$(v3)=34"i(v1,b)=a$(v2): a$<63320 ,a$(3)"(IX"a$(a$)")"3300 !a$(v4)"+"a$(v4)"-"e="8": (a=5̱a$-v1:n(a)a:3297 )b$=a$(5̱a$-v1):8000@:l a$(v4)="-"l=-l i(10 ,b)=l: ?c=a$(4̱a$-v1):c>127c<-128e=10 : c127c<-128e="10": c i(v4,b)=l: Ha$"9"))):a:i(v1,b)=c: \ e="8": za$127e=7:er:ip %nlab"NO LABELS USED":5090 Knlab;" LABELS"(6+(nlab>1))+" USED:"':l(nlab):l$(nlab,"5") wb=1:a=v1n:a$=p$((a-v1)*v32+6(a-v1)*v32+10 ):a$" "l$(b)=a$:l(b)=1e6t$:l$(b):b=b+v1 23692\,0:a r$="" '"23674",v0:"23673",v0:"23672",v0 '"ASSEMBLING:"' line=v1:pc=1e6t$ (p$((line-v1)*v32+6line*v32-v3); 23692\,v0  6m$=p$((line-v1)*v32+12 (line-v1)*v32+15) Ta$=p$((line-v1)*v32+17line*v32-12 ):a$(a$-1)=" "5144 Sa$=p$((line-v1)*v32+17line*v32-8):a$(a$-1)=" "5144 Sa$=p$((line-v1)*v32+17line*v32-4):a$(a$-1)=" "5144 Ka$=p$((line-v1)*v32+17line*v32):a$(a$-1)=" "5144 ;a$>0a$(a$)=" "a$=a$(̱a$-1):5144 e=v0:7000X ( eer:ip ) 8100 -m$"EQU "5180< /%prts>v1w(v1)v1e=8:er:ip 2Sb$=p$((line-v1)*v32+6(line-v1)*v32+10 ):l=i(v1,v1):e=v0:8300l 7 eer:ip 9 6992P <m$"O