invisible debugger xx=hlt sdl=iot 3477 l=0 r=1 nbp=4 define disp low,upp [upp-uc 44]x1000 low-uc 44 termin define letter a,b [b-uc 44]x1000 a termin out=tyo in=tyi define init a,b law b dap a termin define index a,b,c idx a sas b jmp c termin define setup a,b law i b dac a termin define count a,b isp a jmp b termin define move a,b lio a dio b termin define feed a law i a jda fee termin define assign a law a arq jmp bsy termin define dismiss a law i a arq termin define this a a" a termin 1637/ low, this i /low end initial symbol table this and this ior this xor this xct this jdp this cal this jda this lac this lio this dac this dap this dip this dio this dzm this adm this add this sub this idx this isp this sad this sas this mul this div this jmp this jsp this spq this szm this clo this szo this spi this sni this sma this sza this spa this szf this skp this szs this sft this ral this ril this rcl this sal this sil this scl this rar this rir this rcr this sar this sir this scr this law this iot this tyi this ckn this rrb this cks this dsc this asc this isb this cac this lsm this esm this cbs this dia this dba this dcc this dra this lem this eem this rbt this bpt this arq this dsm this wat this sdl this lei this lea this rer this nmn this nmf this ioh this rpa this rpb this tyo this ppa this ppb this dpy this lat this swp this lap this clc this cli this cla this cma this lia this lai this hlt this stf this clf this opr this nop this xx this 9s this 8s this 7s this 6s this 5s this 4s this 3s this 2s this 1s est, low /end of symbol table, pointer to low end 2200, /start of id program /this is the beginning of the real program ent, lac ids /were we in ID? sza jmp en1 /yes idx ids /we are now jsp bpo jsp gsw en2, and (7 sas why /check validity hlt add red dap . 1 jmp . red, . 1 /constant jmp lse /initial entry hlt jmp cl /dsm issued jmp ii /illegal op jmp cll /call button jmp 1bp /bpt given hlt hlt en1, law 4 lio (tsw dsm lac why sad (4 /call button jmp lse jmp err /illegal instruction in id tsw, 0 /temporary state word - ac 0 /io 0 /pc 0 /pf bp, 0 /location of first breakpoint bpn, 0 /instruction that belongs there cn1, 0 /proceed counter for bp 1 bpl, 0 /where bpt was found spc, 0 /running field,memory bound why, 0 nms, 0 /switch for interpret bpt ids, 0 /nonzero if id running xe2, -0 /location of last execute /set state word ssw, dap ssx lac ac dac tsw lac io dac tsw 1 lac pc dac tsw 2 lac fg dac tsw 3 lac bk1 dac bp lac bk1 nbp dac bpn law 5 lio (tsw dsm ssx, jmp . /get user state word gsw, dap gsx law 4 lio (tsw dsm /get the state word lac tsw dac ac lac tsw 1 dac io lac tsw 2 dac pc lac tsw 3 dac fg law 37 and spc ior (40 /get running field dap dfp lac spc ral 6s and (1 dac cor 1 rar 1s dip cor 1 lac why gsx, jmp . bpi, lio (-0 /breakpoints in jmp .+2 bpo, cli /breakpoints out dap p8 dio dff dap bp6 lac bp6+2 dac bp2+1 law bp5 dap dpx spi i idx dpx bp1, law bk1 dap bp3 bp2, add (nbp 0 lac bp3 sad p8 jmp bp5 1 /ignore this bp3, lac . spa jmp bp5+1 dac tas ral 6s and (17 dac ts2 bp4, lac . dac dep jmp dp0-2 bp5, dac i bp4 idx bp3 sas (lac bk1 nbp jmp bp2 cla sad dff bp6, jmp . law x1 1 bp6+2, dap bp4 /used as a constant above dzm dff idx dpx lac . dac bp2+1 jmp bp1 so1, rpb /skip over input routine soi, rpb /enter here spi i jmp so1 rbk, dap rbx /read a block into buffer law buf dac rb1 dac la dzm chi rpb dio t2 dio t spi jmp ls2 /start block rpb dio ch law i 1 /check for block format add ch sub t2 and (777700 sza jmp err law i 1 add ch xor t2 and (770000 sza jmp err rb0, rpb dio i rb1 lac i rb1 adm chi idx rb1 index t2,ch,rb0 add chi add t rpb dio chi sas chi jmp cse lio t ril 1s cla spi dip t spi dip ch rbx, jmp . rb1, 0 bsy, jsp lct lac (356224 jda tys lac (223034 jda tys jmp pn2 cor, /core allocation table dfp, 0 /running field 0 0 0 0 0 0 0 aa, 746100 0 /A 747100 0 /I 742700 0 /X 746700 0 /G 746600 0 /F 744400 0 /M 744454 007201 /M+1 744454 007202 /M+2 746200 0 /B b=1 repeat nbp-1,746254 7200 b b=b 1 ac, 0 /Internal registers. io, 0 xrg, 7775 pc, 0 fg, 0 msk, -0 ll, 0 ul, 7777 bk1,repeat nbp,-0 nir=.-ac .+nbp/ pr0, lac bkf xor pc and (177777 sza /proceed from bpt? jmp p1 2 /no init p8,bk1 p8, lac . sad bpl /one still there? jmp p9 /yes index p8,(lac bk1 nbp,p8 jmp p1 2 p9, lio (-0 /must interpret bpt jsp bpi 4 law 1 dac nms jmp p2 p1, clc /start user dac xe2 jsp bpi dzm nms lac (add dac cn1 p2, jsp lcc jsp ssw dzm ids lac nms dsm /go xe0, law xrg spi jmp n0 move pc,opc move bkf,obf lac xrg xct xsw dac fa law 7 dip fa and lc2 sas lc2 jmp err rar 6s ior fa dac xe2 /execute address xor pc and (177777 xor pc /save overflow,extend dac pc ior (add dac tas ral 6s and (17 dac ts2 dzm tsp jda trc xct pvs jmp xc /in core move wrd,x1 lac xe2 dap pvp lio pvp dia lio (3 law x1 dcc jmp dre jmp p1 2 x1, 0 /word to be executed bpt bpt xc, lac wrd jda dep idx tas lac x1 1 jda dep idx tas jsp dep 1 jmp p1 2 1bp, lac xe2 /breakpoint sad (-0 /X in progress? jmp 2b /no xor pc and (jda sza jmp 2b /returned to wrong core lac pc and (177777 sub xe2 spa add (i sad (1 jmp cl /returned,no skip sas (2 jmp 2b /incorrect return jsp lcc /skipped jmp cl 2b, lac bpl b=0 repeat nbp-1,sad bk1 b jmp 3b b=b 1 sas bk1 b jmp ii /bpt not assigned 3b, law 7255 dac lwt move pc,bkf jmp pb cll, lio (7255 /call button jmp . 2 ii, lio (741010 /illegal instruction clc dac bkf 3bp, dio lwt lac xe2 sad (-0 jmp pb /X not in progress xor pc and (177777 sza jmp pb law 7427 /this was an X jda tys lac lwt jda tys jsp lct lac xe2 ior (add dac tas ral 6s and (17 dac ts2 dzm tsp jsp fet jda lwt cl, move obf,bkf /dsm lac opc xor pc and (177777 xor pc dac pc clc dac opc dac obf jmp lse ff, lac iif sza jmp err lac sym l sza i lac sym r jdp spv lio let law syl spi i law tys dap sgn lac wrd xct sgn dac ids jsp ssw jsp lcc lio fa xct xsw cli lac ids arq jda ff2 dac ff2 jsp lcc ff3, jsp gsw lac ff2 sad ids jmp lse ral 6s jda opt jmp lse ff2, 0 jmp ff3 start ddt part 2 lis, dismiss 47 ls2, dismiss 51 lse, jsp lcc lem lac (in dac ps1-1 law 23 /restore sym tab dac low lsa, dzm mod dzm tas lss, dzm iif cla dap xsw /clear < switch clc dac chi dzm wrd lac lwt dac df1 lac cun ssn, dip sgn dzm dnm dzm syl n2, dzm sym l dzm sym r clc dac let dac chc lsr, move sk1,wea init bax,lwt xx ps1, dio ch law dtb add ch dap .+1 lac . cas, rar 9s /case shift and (777 dac t2 sub (44 spa jmp ln cad, add (jmp uc /used as add dap lsx sub ar1 /last no-eval routine spq jmp i lsx lac sym l ior sym r lio lcp sad (45 dio iif law syl lio let spi i jsp evl jmp ev4 law 77 sad ch dzm tas lac (flexo U jda tys jmp lss evl, dap evx /symbol lookup law evc dap esk evc, lac est dap es4 evg, dap ev2 ev2, lac . spa jmp esn cla es3, sas sym l jmp esi es4, lac . sad sym r jmp ev3 esi, idx es4 idx es4 esk, sas evc jmp evg idx evx ev3, idx es4 evx, jmp . esn, idx es4 lac i ev2 xor (add jmp es3 ev4, dap sgn lac lsx sub cbr spa jmp . 4 lac iif sza jmp err lac wrd sgn, 0 /opr and syl addr dac wrd dac df1 lio chi spi lac lwt lsx, jmp . n, rir 5s /number routine lac syl ral 3s spi i cun, ior t2 dac syl lac dnm ral 2s add dnm ral 1s spi i add t2 dac dnm jmp l1 ln, add (44-12 spa jmp n dzm let /letter routine l1, dzm chi idx t2 idx chc sas (4 jmp ln3 lio sym r dio sym l dzm sym r ln3, sub (6 szm jmp lsr lac sym r mul (50 div (1 jmp . add t2 dac sym r jmp lsr /no-eval routines uc,n 44, lio (rar 9s /upper case jmp .+>>12<>04<< jmp def-2 com, lac lcp sza jmp err lac loc and (7777 dac df1 def, lac let /),define ior iif sk1, sza jmp err law pn2 de, dap dex lio df1 jsp evl jmp df2 law 202 sub est sma jmp ser /overflow law i 1 adm est dio i est sub (1 dap est lio sym r dio i est sub (1 swp lac sym l sza i jmp dex dio est xor (add dac i est jmp dex df2, dio i es4 dex, jmp . dot, lio chc /. law 7777 can, and loc spi i lac dnm dac syl law 44 dac t2 jmp l1 del, jmp pn2 /x /eval routines permitting A,I, etc. pls, lac cad /+,space jmp ssn min, spi /- dio wrd lac csu jmp ssn ovb, clc /. spi jmp n1 lac iif sas (bk1 jmp ov2 clc /B. b=0 repeat nbp,dac bk1 b b=b 1 jmp lse ov2, sas (msk jmp err clc /M. dac msk dzm ll law 7777 dac ul jmp lse bac, law opt /[ jmp . 2 bas, law pi /] dap bax jmp bar vb, law ta5 /| jmp bar 1 lpr, clc /( dac mod bar, law ta5 4 /slash dap br2 spi i br2, jmp . lac lc2 dac ts2 law ta6-ta5 adm br2 cbr, jmp br2 /other eval routines kil, spi i /K jmp ki5 law low ki6, dac est jmp lse prc, lac lc2 eql, jdp eap /= jda opt pn2, jsp lct jmp lss pbx, jdp eap /~ jda tys jmp pn2 arw, jdp eap /. jda pi ar1, jmp del /used by cad 2 oct, spi i /H jmp hoa law 10 jmp .+4 dec, spi i /U jmp uns law 12 dap ops jmp lse smb, spi i /S jmp sav law pi jmp .+2 cns, law opt /C dap pns jmp lse oad, law pvl /O jmp tls-1 rad, spi i /R jmp rea law pev dap pa1 tls, jmp lse err, lac (743521 jda tys law 7234 jda tys jmp ls2 a, law ac /A spi jmp n0 lac wrd dac ac jmp lse ir, law io /I spi jmp n0 lac wrd dac io jmp lse m, law msk /M spi jmp n0 lac wrd xsw, skp jmp am dap ul lac fa dap ll lac ul sub ll spa jmp err jmp lse am, dac msk jmp lse bk, law bk1 /B spi jmp n0 add (add dac tas dac tsp lac wrd jda dep jmp lse uni, jmp ssn-1 />>05<< isc, lac can /^ jmp ssn ndb, spi /. jmp prc dac lwt and (-177 sza i jmp . 4 and (jda ral 6s jmp . 2 lac lwt dac lc2 jda trc jmp lse tab, spi i /tab jda dep dzm lcp ta3, dac wrd jsp lcc lac wrd lio lcp sni jmp ta4 and (7777 /internal sub (ac spa jmp err sub (nir sma jmp err add (nir sal 1s add (aa dap .+1 lac . jda tys idx .-2 xct .-3 jda tys jmp ta4+1 bs, spi i /backspace jda dep law 1 add loc jmp ta3 fs, spi i /^ jda dep law i 1 jmp bs 3 uc8, spi i /> jda dep lio lc2 dio ts2 jmp ta6 5 cr, spi i /c.r. jda dep dac lwt law 72 jda tys jmp lse+1 eas, clc /E dac dff init dpx,eag law ea1 jmp ws nws, lac sk2 /N dac wea wds, law ws1 /W jmp ws bgn, law pc /G spi jmp n0 law 7 /go and lc2 sas lc2 jmp err dac ts2 rar 6s xor pc and (jda xor pc dac pc lac wrd dap pc lac ts2 jda trc clc dac opc /save bad pc jmp p1 xec, jmp xe0 /X pra, spi /P cla cma add (add dac cn1 lac (jda and pc ral 6s jda trc jmp pr0 ttl, spi i /L jmp err jmp tp0 jbk, spi /J jmp err assign 47 lac wrd ior (jmp dac lwt feed 40 lac lwt jdp pbw feed 520 jmp lis pul, spi /< jmp err dac fa law 72 jda tys law 600 jmp lss 2 pwd, dac dep /_ lac tas sma jmp err lac tsp spi ior mod sza jmp err spi jmp .+3 jsp dep+1 dac lwt lac tas dac fa dac la jmp pdt pun, move lc2,ts2 /D lio chi xct xsw spi /D or aD jmp pd2 /a>05<>04<< letter 5,uni /5,>>05<< letter 6,isc /6,^ letter 7,pul /7,< letter 10,uc8 /8,> letter 11,fs /9,^ disp err,err disp err,err disp err,err disp err,err disp err,err disp err,err letter 0,arw /0,. disp bar,err //,? letter 34,smb /s letter 35,tbl /t letter 36,dec /u letter 37,vfy /v letter 40,wds /w letter 41,xec /x letter 42,rd /y letter 43,zro /z disp err,err disp com,eql /,,= disp err,err disp err,err disp tab,tab /tab disp err,err disp pwd,ndb /_ ,. letter 23,jbk /j letter 24,kil /k letter 25,ttl /l letter 26,m /m letter 27,nws /n letter 30,oad /o letter 31,pra /p letter 32,q /q letter 33,rad /r disp err,err disp err,err disp min,pls /-,+ disp def,bas /),] disp ovb,vb /. ,| disp lpr,bac /(,[ disp err,err letter 12,a /a letter 13,bk /b letter 14,cns /c letter 15,pun /d letter 16,eas /e letter 17,f /f letter 20,bgn /g letter 21,oct /h letter 22,ir /i disp lc,lc /lower case disp dot,del /.,x disp uc,uc /upper case disp bs,bs /backspace disp err,err disp cr,cr /car. ret. fee,t2, 0 /feed dap fex cli ppa isp fee jmp .-2 fex, jmp . lwt, 0 /last word typed dap pnx lac lwt pns, jda pi /pi or opt pnx, jmp . pi,t4, 0 /print instruction dap px jsp pev lac pi sub (i spa jmp ppk dac pi law 72 jda tys out law 71 jda tys ppk, cli out xct ea 1 jmp pvl law 72 jda tys and (opr sad (sft jmp i66 sad clw jmp plo rar 1s sza csu, sub (320000 /used as sub spa jmp plo pvl, lac pi sza i szf 1 i pv3, jda opt px, jmp . plo, jsp pev jmp pa1+1 i66, law 1 /1s-9s add pi and pi sza jmp pvl law pa1+1 dap pex lac ea jmp eak+2 pad, 0 /print address dap px lac lc2 sza i jmp . 4 jda opt /other than core 0 cli out law 7777 and pad dac pi clf 1 pa1, jsp pev /pev or pvl lac (flexo + jda tys jmp pvl pev, dap pex /symbol lookup subr law i 7777 and pi sad (opr /detect operates jmp sev and (760000 sad (skp /detect skips jmp sev eak, dap ea 1 lac est dap ea clf 1 eal, lio i ea spi idx ea dap psw spi i cli dio t3 idx ea ea, lac . skp i /test for skip or operate jmp sko xor pi spa jmp eix lac pi sub i ea spa jmp eix szf i 1 jmp psw lac i ea sub i ei1 szm jmp psw eix, idx ea sad evc jmp .+3 sas (lac est-22 jmp eal xct ea 1 jmp pex szf i 1 jmp pvl lac pi ei1, sub lia sza /detect neg nums jmp i77 dio pi eiy, jsp spt lac pi sk2, sza i jmp px xct ea 1 jmp . 2 pex, jmp . cma dac t2 /mask jmp eix sev, dac t1 /save instruction lac pi cma dac t2 /mask law 600 jmp eak sko, ior t1 sas i ea jmp eix szf 1 xor t1 sza i jmp eix xor pi lia and t2 sza jmp eix dio pi szf i 1 jmp psw lac (flexo >>05<< jda tys psw, lac . /best symbol thus far dac sym r lio t3 dio sym l lac ea dap ei1 stf 1 xct ea 1 jmp eiy jmp eix i77, law i 7777 /numbers 77xxxx and pi sas (770000 jmp eiy-1 law 7254 jda tys lac pi cma jmp pv3 /assorted type-out routines tys, 0 dap tyx setup opt,3 tyl, lac tys ral 6s dac tys and (77 sza i jmp tyc lia sad (72 jmp dns sad (74 jmp ups tyb, out tyc, count opt,tyl lac lwt cli tyx, jmp . dns, lac ps1 dn1, sad cas jmp tyc dac cas jmp tyb ups, lac (rar 9s jmp dn1 lcc, dap lcx /lower case, carriage return law 7277 jmp lc1 lct, dap lcx /lower case, tab law 7236 lc1, jda tys lcx, jmp . /numeric print opt, 0 dap opx dzm op1 opa, lac opt opb, dac op2 cli>>05<