X-Git-Url: http://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/31764ff8b30309dc3f8016015d8086812152f43d..69f28986ad97c1e3d55279d696d1884c963f530e:/db.s diff --git a/db.s b/db.s new file mode 100644 index 0000000000..41096bfdc3 --- /dev/null +++ b/db.s @@ -0,0 +1,1217 @@ +" db + + narg = ..+07777 + lac i narg + sad d4 + jmp start + lac narg + tad d5 + dac rcorep + dac wcorep + lac i narg + sad d8 + jmp start + sad d12 + skp + jmp error + lac narg + tad d9 + dac nlnamep + " +start: + lac nlbufp + cma + tad o17777 + cll + idiv + 6 + cll + lacq + mul + 6 + lacq + dac namesize + sys open; nlnamep: nlname; 0 + dac symindex + sma + jmp 1f +2: + dzm nlcnt + lac nlbufp + dac nlsize + jmp 3f +1: + sys read; nlbuff; namesize:0 + spa + jmp 2b + dac nlcnt + tad nlbufp + dac nlsize +3: + lac symindex + sys close + sys open +wcorep: corename; 1 + dac wcore + sys open; rcorep: corename; 0 + dac rcore + spa + jmp error + " + lac o52012 + jms wchar + law dotdot + dac nsearch + jms nlsearch + jmp mloop + lac value + dac relocval + cma + tad d1 + dac mrelocv + dzm sysflag +mloop: + -1 + dac nwords +ml1: + jms rch + dac nchar1 + sad o52 + skp + jmp 1f + dzm nchar1 + dac indflg +1: + jms getexp + lac errf + sna + jmp cmd +error: + dzm indflg + lac o40 + dac rator + dzm errf + lac d1 + sys write; errmes; 1 + jmp mloop +cmd: + lacq + sad o41 + jmp patch + lac opfound + sna + jmp 1f + lac comflg + dzm comflg + sza + jmp 1f + lac curval + dac curdot + lac curreloc + dac dotrel +1: + lacq + sad o42 + jmp ascii + sad o12 + jmp newln + sad o77 + jmp symbol + sad o47 + jmp saddress + sad o75 + jmp address + sad o57 + jmp octal + sad o72 + jmp decimal + sad o136 + skp + jmp 1f + dac sysflag + jmp mloop +1: + sad o45 + skp + jmp 1f + dzm sysflag + jmp mloop +1: + sad d1 + sys exit + sad o54 + skp + jmp error + " comma + jms getexp + lac errf + sza + jmp error + law + dac comflg + lac curreloc + sza + jmp 1f + lac value + cma + dac nwords + jmp cmd +1: + lac reldot + sna + jmp error + lac curval + cma + tad curdot + sma + jmp error + dac nwords + jmp cmd + " +saddress: + lac curdot + dac 9f + dzm curdot + lac reldot + sza + lac relocval + tad 9f + jms prsym + lac o12 + jms wchar + lac 9f + dac curdot + jmp mloop +9:0 + " +symbol: + law prsym + dac type + jmp print + " +octal: + law proct + dac type + jmp print + " +ascii: + law prasc + dac type + jmp print + " +decimal: + law prdec + dac type + jmp print + " +address: + lac curdot + jms octw + 5 + lac curreloc + sza + jmp 1f + lac o12 + jms wchar + jmp mloop +1: + lac o162012 + jms wchar + jmp mloop + " +print: + lac sysflag + sza + jmp 2f + lac reldot + sza + jmp 1f + lac curdot + dac addr + jmp sprint +2: + lac curdot + dac addr + jmp sprint +1: + law inbuf + dac addr + lac curdot + dac 1f + lac rcore + sys seek; 1:0; 0 + spa + jmp error + lac rcore + sys read; inbuf; 64 + spa + jmp error + sna + jmp error + " +sprint: + lac indflg + sna + jmp 2f + dzm indflg + lac i addr + and o17777 + dac curdot + dzm reldot + tad mrelocv + spa + jmp print + dac curdot + lac d1 + dac reldot + jmp print + " +2: + lac o40 + jms wchar + lac addr + dac 3f + lac i addr + jms i type + lac 3f + dac addr + isz addr + law prasc + sad type + jmp 1f + lac nl + jms wchar +1: + isz nwords + jmp 1f + law prasc + sad type + skp + jmp mloop + lac nl + jms wchar + jmp mloop +1: + isz curdot + nop + lac nwords + spa + jmp print + jmp 2b +3:0 + " +prdec: "temp +proct:0 + jms octw + 6 + jmp i proct + " +patch: + lac opfound + sna + jmp error + lac curreloc + sna + jmp 1f + lac curval + tad relocval + skp +1: + lac curval + dac inbuf + lac sysflag + sna + jmp 1f + lac inbuf + dac i curdot + jmp bump +1: + lac reldot + sna + jmp error + lac curdot + dac 2f + lac wcore + spa + jmp error + sys seek; 2:0; 0 + spa + jmp error + lac wcore + sys write; inbuf; 1 + spa + jmp error +bump: + -1 + dac nwords + isz curdot + jmp print + " +newln: + lac opfound + sna + jmp bump + jmp print + " +getexp:0 + dzm errf + lac o40 + dac rator + dzm curval + dzm curreloc + dzm reloc + dzm value + dzm opfound +xloop: + jms rch + lmq + sad o44 + skp + jmp 1f + jms getspec + jms oprand + jmp xloop +1: + tad om60 + spa + jmp 1f + tad om10 + sma + jmp 1f + lacq + jms getnum " ??? getnur + jms oprand + jmp xloop +1: + lacq + sad o56 + jmp 1f + tad om141 + spa + jmp 2f + tad om32 + sma + jmp 2f +1: + lacq + jms getsym + jms oprand + jmp xloop +2: + lacq + tad om101 + spa + jmp 1f + tad om32 + spa + jmp 1b +1: + lacq + sad o74 + skp + jmp 1f + jms rch + alss 9 + dac value + dzm reloc + jms oprand + jmp xloop +1: + sad o40 + jmp xloop + sad o55 "- + skp + jmp 1f +2: + lac o40 + sad rator + skp + jmp error + lacq + dac rator + jmp xloop +1: + sad o53 "+ + jmp 2b + lac curreloc + sna + jmp 1f + sad d1 + skp + dac errf +1: + lac o40 + sad rator + jmp i getexp + dac errf + jmp i getexp + " +getspec: 0 + jms rch + sad o141 + jmp spcac + sad o161 "q + jmp spcmq + sad o151 "i + jmp spcic + lmq + tad om60 + spa + jmp 2f + tad om10 + sma + jmp 2f + lacq + jms getnum + jmp spcai +2: + law + dac errf + jmp getspec i +spcac: + cla + jmp 1f +spcmq: + lac d1 + jmp 1f +spcic: + lac d10 + jmp 1f +spcai: + lac value + tad dm6 + +1: + tad o10000 + dac value + lac d1 + dac reloc + jmp i getspec + " +getsym:0 + lmq + law symbuf + dac symbufp + dzm symbuf + -8 + dac symcnt + dzm nchar1 + lac nopcom + dac skipt + skp +storech: + lmq + lac i symbufp + and o177000 + sna + jmp 1f + omq + dac i symbufp + isz symbufp + dzm i symbufp + jmp 2f +1: + llss 27 + dac i symbufp + " +2: + isz symcnt + skp + jmp endsym +skipt: + nop " or jmp fill + jms rch + sad o76 + skp + jmp 1f + lac symbuf + lrss 9 + and o177 + dac value + dzm reloc + jmp i getsym +1: + sad o56 + jmp storech + dac nchar1 + tad om60 + spa + jmp fill + tad m10 + spa + jmp 2f + lac nchar1 + tad om141 + spa + jmp 1f + tad om32 + spa + jmp 2f +1: + lac nchar1 + tad om101 + spa + jmp fill + tad om32 + sma + jmp fill +2: + lac nchar1 + dzm nchar1 + jmp storech + " +fill: + lac trafill + dac skipt + lac o40 + jmp storech + " +endsym: + lac symbuf + sad o56040 + jmp dotsym + law symbuf + dac nsearch + jms nlsearch + jmp undef + dzm nsearch + jmp i getsym + " +dotsym: + lac curdot + dac value + lac dotrel + dac reloc + jmp i getsym + " +undef: + dzm nsearch + law + dac errf + jmp i getsym + " +getnum:0 + dzm reloc + dzm value +num1: + tad om60 + lmq + lac value + alss 3 + omq + dac value + jms rch + dac nchar1 + sad o162 + jmp nrel + tad om60 + spa + jmp i getnum + tad om10 + sma + jmp i getnum + lac nchar1 + dzm nchar1 + jmp num1 +nrel: + dzm nchar1 + lac d1 + dac reloc + jmp i getnum + " +oprand:0 + lac rator + sad o53 + jmp opplus + sad o40 + jmp opor + sad o55 + jmp opminus +opplus: + lac value + tad curval + dac curval +1: + lac curreloc + tad reloc + dac curreloc + jmp retop + " +opor: + lac value + lmq + lac curval + omq + dac curval + jmp 1b + " +opminus: + lac curval + cma + tad value + cma + dac curval + lac reloc + cma + tad d1 + tad curreloc + dac curreloc +retop: + lac o40 + dac rator + dac opfound + jmp i oprand + " +prasc:0 + jms wchar + jmp i prasc + " +prsym:0 + dac word + dzm relflg + dzm relocflg + dzm nsearch + and o760000 + sad o760000 + jmp plaw + sad o20000 + jmp pcal + and o740000 + sad o640000 + jmp peae + sad o740000 + jmp popr + sad o700000 + jmp piot + sna + jmp poct + jms nlsearch + jmp poct + jms wrname + lac o40 + jms wchar + lac word + and o20000 + sna + jmp 1f + lac o151040 + jms wchar + lac word + xor o20000 + dac word +1: +symadr: + lac d1 + dac relflg + dac relocflg + lac word + and o17777 + tad mrelocv + sma + jmp 1f + tad relocval + dzm relocflg +1: +pradr: + dac addr + jms nlsearch + jmp octala +pr1: + dzm relflg + jms wrname + lac value + sad addr + jmp i prsym + cma + tad d1 + tad addr + sma + jmp 1f + cma + tad d1 + dac addr + lac o55 + jms wchar + jmp 2f +1: + dac addr + lac o53 + jms wchar +2: + lac addr + jms octw + 1 + jmp i prsym + " +plaw: + lac d1 + dac relocflg + lac word + and o17777 + tad mrelocv + sma + jmp 1f + tad relocval + dzm relocflg +1: + dac addr + law + dac relflg + lac addr + jms nlsearch + jmp poct + dac symindex + law laws + jms wrname + lac o40 + jms wchar +3: + lac symindex + jmp pr1 +2:0 +9:0 + " +peae: + lac word + jms nlsearch + jmp 1f + jms wrname + jmp i prsym +1: + lac word + and o777700 + jms nlsearch + jmp 1f + jms wrname + lac o40 + jms wchar + lac word + and o77 + jms octw + 1 + jmp i prsym +1: + law eaes + dac addr + jmp nfnd + " +popr: + law oprs + jmp 1f +piot: + law iots +1: + dac addr + lac word + jms nlsearch + jmp 1f + jms wrname + jmp i prsym +1: +nfnd: + lac addr + jms wrname +octala: + dzm relflg + lac o40 + jms wchar + lac word + and o37777 + lmq + lac relocflg + sna + jmp 1f + lacq + tad mrelocv + lmq +1: + lacq + jms octw + 1 + lac relocflg + sna + jmp i prsym + lac o162 + jms wchar + dzm relocflg + jmp i prsym + " +poct: + lac word + jms octw + 6 + jmp i prsym + " +pcal: + lac word + sna + jmp poct + and o17777 + jms nlsearch + jmp 1f + dac addr + law syss + jms wrname + lac o40 + jms wchar + lac addr + jms wrname + jmp i prsym + " +1: + lac word + and o20000 + sza + jmp poct + jmp symadr + " +wrname:0 + tad dm1 + dac 10 + -4 + dac 3f +1: + lac i 10 + dac 2f + lmq + cla + llss 9 + sad o40 + jmp i wrname + jms wchar + lac 2f + and o177 + sad o40 + jmp i wrname + jms wchar + isz 3f + jmp 1b + jmp i wrname +2:0 +3:0 + " +nlsearch:0 + dac match + lac brack + dac best + dzm minp +1: + lac nlbufp + tad dm6 + dac cnlp +nloop: + lac cnlp + tad d6 + dac cnlp + lmq + cma + tad nlsize + spa + jmp nlend + lac nsearch + sza + jmp testn + lacq + tad d3 + dac np + lac i np + sna + jmp nloop + isz np + lac i np + dac treloc + sad relocflg + skp + jmp nloop + isz np + lac i np + dac tvalue + sad match + jmp nlok + lac relocflg + sna + jmp nloop + lac relflg + sna + jmp nloop + -1 + tad tvalue + cma + tad match + spa + jmp nloop + dac 2f + tad mbrack + sma + jmp nloop + lac best + cma + tad d1 + tad 2f + sma + jmp nloop + lac 2f + dac best + lac tvalue + dac value + lac treloc + dac reloc + lac cnlp + dac minp + jmp nloop + " +2:0 + " +testn: + lacq + dac minp + -4 + dac value + lac match + dac inbuf +1: + lac i minp + sad i inbuf + skp + jmp nloop + isz minp + isz inbuf + isz value + jmp 1b + lac i minp + dac treloc + isz minp + lac i minp + dac tvalue + jmp nlok + " +nlend: + lac relflg + sna + jmp i nlsearch + lac dotrel + sad relocflg + skp + jmp 1f + -1 + tad curdot + cma + tad match + spa + jmp 2f + cma + tad d1 +2: + tad brack + spa + jmp 1f + tad mbrack + tad best + spa + jmp 1f + lac curdot + dac value + lac dotrel + dac reloc + law o56040 + dac minp +1: + lac minp + sza + isz nlsearch + jmp i nlsearch +nlok: + lac tvalue + dac value + lac treloc + dac reloc + lac cnlp + isz nlsearch + jmp i nlsearch + " +nlerr: + law + dac errf + jmp i nlsearch + " +rch:0 + lac nchar1 + dzm nchar1 + sza + jmp i rch +1: + lac nchar + dzm nchar + sza + jmp i rch + cla + sys read; char; 1 + lac char + and o177 + dac nchar + lac char + lrss 9 + sna + jmp 1b + jmp i rch + " +wchar:0 + dac char + lac d1 + sys write; char; 1 + jmp i wchar + " +octw: 0 + isz octw + lmq + cla cll + llss 3 + alss 6 + llss 3 + tad o60060 + dac obuf + cla + llss 3 + alss 6 + llss 3 + tad o60060 + dac obuf+1 + cla + llss 3 + alss 6 + llss 3 + tad o60060 + dac obuf+2 + lac d1 + sys write; obuf; 3 + jmp i octw +m10: -10 + " + " +o54:054 +d6:6 +o52012:052012 +d5:5 +d9:9 +d12:12 +d8:8 +d3:3 +o177:0177 +o136: 0136 +o45: 045 +sysflag: 0 +char:0 +d2:2 +o162012:0162012 +mrelocv:-010000 +relocval:010000 +nwords:0 +errf:0 +rator:0 +d1:1 +errmes:077012 +o12:012 +curval:0 +curreloc:0 +curdot:0 +reldot: +dotrel:0 +value:0 +reloc:0 +o77:077 +o57:057 +o72:072 +o50:050 +type:proct +o162:0162 +nl:012 +om100:-0100 +" d2:2 " Duplicate +symbuf: .=.+5 +inbuf:.=.+64 +o100:0100 +opfound:0 +wcore:0 +symindex:0 +rcore:0 +o56:056 +om60:-060 +om10:-010 +" o56:056 " Duplicate +om141:-0141 +o141: 0141 +o44: 044 +o151: 0151 +o161: 0161 +om101: -0101 +om32:-032 +o40:040 +o55:055 +o53:053 +symbufp:0 +symcnt:0 +nopcom:nop +dm6: -6 +d10: 10 +trafill: jmp fill +nchar1:0 +nchar:0 +o177000:0177000 +o56040:056040 +nsearch:0 +word:0 +relflg:0 +relocflg:0 +o740000:0740000 +o640000:0640000 +o700000:0700000 +o17777:017777 +o20000:020000 +o10000: 010000 +o151040:0151040 +eaes:0145141;0145040 +laws: 0154141;0167040 +oprs:0157160;0162040 +iots:0151157;0164040 +syss:0163171;0163040 +corename:0143157;0162145;040040;040040 +nlname:0156056;0157165;0164040;040040 +dotdot: <..>; 040040; 040040; 040040 +addr:0 +o37777:037777 +dm1:-1 +match:0 +rwdflg:0 +nlbufp:nlbuff +nlsize:0 +" dm6:-6 " Duplicate +cnlp:0 +o377777:0377777 +minp:0 +d4:4 +np:0 +nlcnt:0 +obuf:.=.+3 +o60060:060060 +o75:075 +best: 0 +o60000:060000 +comflg:0 +" nlbufp:nlbuff " Duplicate +brack: 30 +mbrack: -30 +o777700:0777700 +o41:041 +o42:042 +o760000:0760000 +o40000:040000 +tvalue: 0 +treloc: 0 +" o151:0151 " Duplicate +o47: 047 +o52:052 +indflg: 0 +o74:074 +o76:076 +" nlbufp: nlbuff " Duplicate + nlbuff = .