added sh.s to build

fixed dsw.s typo
This commit is contained in:
Tom Everett
2019-10-18 18:13:08 -06:00
parent 1db45404d7
commit 0e9e447ada
5 changed files with 821 additions and 286 deletions
+384 -281
View File
@@ -1,282 +1,385 @@
010000: 600000 jmp start
010001: 110003 jms initio
010002: 630003 jmp .+1 i
010003: 000000 initio: 0
010004: 210007 lac inter-1
010005: 040000 dac fetch
010006: 610001 jmp rinit
010007: 110010 jms inter
010010: 000000 inter: 0
010011: 750004 las
010012: 510311 and o17
010013: 740200 sza
010014: 110047 jms trace
010015: 220000 lac pc i
010016: 050305 dac instr
010017: 200000 lac pc
010020: 510314 and o10000
010021: 741200 sna
010022: 610342 jmp badpc
010023: 200000 lac sp
010024: 510325 and o17700
010025: 550325 sad o17700
010026: 610350 jmp badsp
010027: 510314 and o10000
010030: 741200 sna
010031: 610350 jmp badsp
010032: 210305 lac instr
010033: 550310 sad insasg
010034: 741000 skp
010035: 630010 jmp inter i
010036: 777774 -4
010037: 340000 tad sp
010040: 040000 dac t1
010041: 220000 lac t1 i
010042: 510314 and o10000
010043: 741200 sna
010044: 610356 jmp badasgn
010045: 210305 lac instr
010046: 630010 jmp inter i
010047: 000000 trace: 0
010050: 500000 and d1
010051: 740200 sza
010052: 110070 jms dtrace
010053: 750004 las
010054: 510326 and d2
010055: 740200 sza
010056: 110133 jms ddisp
010057: 750004 las
010060: 500000 and d4
010061: 740200 sza
010062: 110246 jms histog
010063: 750004 las
010064: 510312 and d8
010065: 740200 sza
010066: 600000 jmp stop
010067: 630047 jmp trace i
010070: 000000 dtrace: 0
010071: 200000 lac pc
010072: 040010 dac 8
010073: 220010 lac 8 i
010074: 050305 dac instr
010075: 200010 lac 8
010076: 110375 jms octal; -4
010077: 777774
010100: 760040 law 040
010101: 100000 jms putc
010102: 210305 lac instr
010103: 744000 cll; lrs 14
010104: 640516
010105: 350327 tad lacop
010106: 050107 dac .+1
010107: 210000 lac ..
010110: 100000 jms putc
010111: 760040 law 040
010112: 100000 jms putc
010113: 210305 lac instr
010114: 110375 jms octal; -4
010115: 777774
010116: 210305 lac instr
010117: 550307 sad inslitr
010120: 741000 skp
010121: 610127 jmp 1f
010122: 760040 law 040
010123: 100000 jms putc
010124: 220010 lac 8 i
010125: 110375 jms octal; -6
010126: 777772
010127: 760012 law 012
010130: 100000 jms putc
010131: 100000 jms flush
010132: 630070 jmp dtrace i
010133: 000000 ddisp: 0
010134: 110224 jms dspinit
010135: 210304 lac dspbp
010136: 040010 dac 8
010137: 200000 lac dp
010140: 550302 sad olddp
010141: 741000 skp
010142: 110157 jms dspblk
010143: 200000 lac pc
010144: 110214 jms dspnt
010145: 200000 lac sp
010146: 110214 jms dspnt
010147: 200000 lac lastv
010150: 110214 jms dspnt
010151: 777777 -1
010152: 060000 dac B i
010153: 220000 lac pbs i
010154: 740200 sza
010155: 610153 jmp .-2
010156: 630133 jmp ddisp i
010157: 000000 dspblk: 0
010160: 210303 lac dspbuf
010161: 040010 dac 8
010162: 200000 lac dp
010163: 040000 dac t1
010164: 140000 dzm t2
010165: 200000 lac t1
010166: 741200 sna
010167: 610205 jmp 1f
010170: 210320 lac o216000 " dx -20
010171: 060010 dac 8 i
010172: 200000 lac t2
010173: 350322 tad o20
010174: 040000 dac t2
010175: 200000 lac t1
010176: 340000 tad d1
010177: 040000 dac t3
010200: 220000 lac t3 i
010201: 110214 jms dspnt
010202: 220000 lac t1 i
010203: 040000 dac t1
010204: 610165 jmp 1b
010205: 210321 lac o160020 " sx 20
010206: 340000 tad t2
010207: 070303 dac dspbuf i
010210: 060010 dac 8 i
010211: 200010 lac 8
010212: 050304 dac dspbp
010213: 630157 jmp dspblk i
010214: 000000 dspnt: 0
010215: 510317 and o7777
010216: 660502 lrss 2
010217: 250323 xor o164000 " sy 0
010220: 060010 dac 8 i
010221: 210324 lac o17010
010222: 060010 dac 8 i
010223: 630214 jmp dspnt i
010224: 000000 dspinit: 0
010225: 777777 -1
010226: 350224 tad dspinit
010227: 050224 dac dspinit
010230: 777324 -300
010231: 340000 tad lastv
010232: 040000 dac lastv
010233: 050303 dac dspbuf
010234: 777777 -1
010235: 070224 dac dspinit i
010236: 070303 dac dspbuf i
010237: 150302 dzm olddp
010240: 210303 lac dspbuf
010241: 020027 sys capt
010242: 760015 law 13
010243: 020025 sys sysloc
010244: 040000 dac pbs
010245: 630224 jmp dspinit i
010246: 000000 histog: 0
010247: 110260 jms hisinit
010250: 200000 lac pc
010251: 640506 lrs 6
010252: 510313 and o77
010253: 350301 tad histbuf
010254: 040000 dac t1
010255: 460000 isz t1 i
010256: 630246 jmp histog i
010257: 610257 jmp .
010260: 000000 hisinit: 0
010261: 777777 -1
010262: 350260 tad hisinit
010263: 050260 dac hisinit
010264: 777777 -1
010265: 070260 dac hisinit i
010266: 777700 -64
010267: 040000 dac t1
010270: 340000 tad lastv
010271: 040000 dac lastv
010272: 050301 dac histbuf
010273: 340000 tad dm1
010274: 040010 dac 8
010275: 020010 dsm 8 i
010276: 440000 isz t1
010277: 610275 jmp 1b
010300: 630260 jmp hisinit i
010301: 000000 histbuf: 0
010302: 000000 olddp: 0
010303: 000000 dspbuf: 0
010304: 000000 dspbp: 0
010305: 000000 instr: 0
010306: 000000 obs: 0
010307: 000005 inslitr: n 5
010310: 000001 insasg: b 1
010311: 000017 o17: 017
010312: 000010 d8: 8
010313: 000077 o77: 077
010314: 010000 o10000: 010000
010315: 000005 d5: 5
010316: 000060 o60: 060
010317: 007777 o7777: 07777
010320: 216000 o216000: 0216000
010321: 160020 o160020: 0160020
010322: 000020 o20: 020
010323: 164000 o164000: 0164000
010324: 017010 o17010: 017010
010325: 017700 o17700: 017700
010326: 000002 d2: 2
010327: 210327 lacop: lac .
010330: 000141 a>;b>;c>;f>;n>;s>;t>;u>;x>;y>
010331: 000142
010332: 000143
010333: 000146
010334: 000156
010335: 000163
010336: 000164
010337: 000165
010340: 000170
010341: 000171
010342: 100000 jms flush
010343: 200000 lac d1
010344: 020005 sys write; mpc; mpcs
010345: 010364
010346: 000003
010347: 600000 jmp stop
010350: 100000 jms flush
010351: 200000 lac d1
010352: 020005 sys write; msp; msps
010353: 010367
010354: 000003
010355: 600000 jmp stop
010356: 100000 jms flush
010357: 200000 lac d1
010360: 020005 sys write; mas; mass
010361: 010372
010362: 000003
010363: 600000 jmp stop
010364: 000012 012;<pc>;012
010365: 160143
010366: 000012
010367: 000012 012;<sp>;012
010370: 163160
010371: 000012
010372: 000012 012;<as>;012
010373: 141163
010374: 000012
010375: 000000 octal: 0
010376: 652000 lmq
010377: 210315 lac d5
010400: 370375 tad octal i
010401: 740001 cma
010402: 050430 dac 2f
010403: 741200 sna
010404: 610410 jmp 3f
010405: 660603 llss 3
010406: 450430 isz 2f
010407: 610405 jmp 1b
010410: 230375 lac octal i
010411: 050430 dac 2f
010412: 641002 lacq
010413: 050431 dac 2f+1
010414: 210431 lac 2f+1
010000: 610013 jmp shell
010001: 160010 dzm i 8
010002: 450000 isz clear
010003: 110001 jms 1b
010004: 641002 lacq
010005: 617771 jmp 017771
010006: 010005 zerop: .-1
010007: 210532 lac d1
010010: 020005 sys write; errmes; 1
010011: 010565
010012: 000001
010013: 210532 lac d1
010014: 020005 sys write; ready; 1
010015: 010567
010016: 000001
010017: 210570 lac delim
010020: 550553 sad newln
010021: 110421 jms rline
010022: 110217 jms getcom
010023: 211104 lac narg
010024: 741200 sna
010025: 610051 jmp comretrn
010026: 211105 lac args
010027: 550566 sad chcom
010030: 741000 skp
010031: 610035 jmp 3f
010032: 211106 lac args+1
010033: 550574 sad spsp
010034: 610475 jmp doch
010035: 020035 sys fork
010036: 741000 skp
010037: 610055 jmp loadcom
010040: 741100 spa
010041: 610007 jmp comerr
010042: 652000 lmq
010043: 210570 lac delim
010044: 550546 sad amper
010045: 610017 jmp shell1
010046: 641002 lacq " hand written
010047: 650000 clq " send mesg to child
010050: 020033 sys smes
010051: 210570 lac delim
010052: 550553 sad newln
010053: 610013 jmp shell
010054: 610017 jmp shell1
010055: 020003 sys open; args; 0
010056: 011105
010057: 000000
010060: 740100 sma
010061: 610111 jmp 1f
010062: 020012 sys link; system; args; args
010063: 010571
010064: 011105
010065: 011105
010066: 741100 spa
010067: 610073 jmp 2f
010070: 777777 -1
010071: 051103 dac lnkflg
010072: 610055 jmp loadcom
010073: 211103 lac lnkflg
010074: 741200 sna
010075: 610100 jmp 3f
010076: 020013 sys unlink; args
010077: 011105
010100: 210532 lac d1
010101: 020005 sys write; args; 4
010102: 011105
010103: 000004
010104: 210532 lac d1
010105: 020005 sys write; errmes; 1
010106: 010565
010107: 000001
010110: 020016 sys exit
010111: 211103 lac lnkflg
010112: 741200 sna
010113: 610116 jmp 1f
010114: 020013 sys unlink; args
010115: 011105
010116: 210555 lac in
010117: 741200 sna
010120: 610140 jmp 2f
010121: 750000 cla
010122: 020011 sys close
010123: 020003 sys open; in; 0
010124: 010555
010125: 000000
010126: 740100 sma
010127: 610140 jmp 2f
010130: 210532 lac d1
010131: 020005 sys write; in; 4
010132: 010555
010133: 000004
010134: 020005 sys write; errmes; 1
010135: 010565
010136: 000001
010137: 020016 sys exit
010140: 210561 lac out
010141: 741200 sna
010142: 610152 jmp 1f
010143: 210532 lac d1
010144: 020011 sys close
010145: 210540 lac o17
010146: 020006 sys creat; out
010147: 010561
010150: 741100 spa
010151: 020016 sys exit
010152: 211104 lac narg
010153: 740001 cma
010154: 051102 dac t1
010155: 350541 tad o17771
010156: 057777 dac 017777
010157: 350533 tad dm1
010160: 040010 dac 8
010161: 510542 and o7777
010162: 050213 dac boot+2
010163: 740001 cma
010164: 350537 tad d7
010165: 040011 dac close
010166: 210575 lac nargp
010167: 040011 dac 9
010170: 220011 lac i 9
010171: 060010 dac i 8
010172: 451102 isz t1
010173: 610170 jmp 2b
010174: 210576 lac bootp
010175: 040011 dac 9
010176: 777772 -6
010177: 051102 dac t1
010200: 220011 lac i 9
010201: 060010 dac i 8
010202: 451102 isz t1
010203: 610200 jmp 2b
010204: 210536 lac d2
010205: 652000 lmq
010206: 210006 lac zerop
010207: 040010 dac 8
010210: 610001 jmp clear+1
010211: 020004 sys read; 4096; ..
010212: 010000
010213: 010000
010214: 641002 lacq
010215: 020011 sys close
010216: 610000 jmp 4096
010217: 000000 getcom: 0
010220: 771104 law args-1
010221: 040012 dac 10
010222: 150555 dzm in
010223: 150561 dzm out
010224: 151104 dzm narg
010225: 151103 dzm lnkflg
010226: 110400 jms get
010227: 550544 sad gr
010230: 610261 jmp cgr
010231: 550545 sad ls
010232: 610254 jmp cls
010233: 550546 sad amper
010234: 610252 jmp endcom
010235: 550547 sad semic
010236: 610252 jmp endcom
010237: 550553 sad newln
010240: 610252 jmp endcom
010241: 550550 sad space
010242: 610226 jmp nparm-1
010243: 652000 lmq
010244: 211104 lac narg
010245: 350534 tad d4
010246: 051104 dac narg
010247: 641002 lacq
010250: 110304 jms getparm
010251: 610227 jmp nparm
010252: 050570 dac delim
010253: 630217 jmp getcom i
010254: 110400 jms get
010255: 110304 jms getparm
010256: 051102 dac t1
010257: 770554 law in-1
010260: 610265 jmp cpio
010261: 110400 jms get
010262: 110304 jms getparm
010263: 051102 dac t1
010264: 770560 law out-1
010265: 040013 dac 11
010266: 200012 lac 10
010267: 350535 tad dm4
010270: 040012 dac 10
010271: 652000 lmq
010272: 777774 -4
010273: 051101 dac c1
010274: 220012 lac i 10
010275: 060013 dac i 11
010276: 451101 isz c1
010277: 610274 jmp 1b
010300: 641002 lacq
010301: 040012 dac 10
010302: 211102 lac t1
010303: 610227 jmp nparm
010304: 000000 getparm:0
010305: 652000 lmq
010306: 777770 -8
010307: 051101 dac c1
010310: 641002 lacq
010311: 741000 skp
010312: 110400 jms get
010313: 550550 sad space
010314: 610312 jmp 1b
010315: 110365 jms checkdlm
010316: 610007 jmp comerr
010317: 610323 jmp 2f
010320: 610400 jmp get
010321: 110365 jms checkdlm
010322: 610350 jmp fill1
010323: 660711 alss 9
010324: 451101 isz c1
010325: 652000 lmq
010326: 110400 jms get
010327: 110365 jms checkdlm
010330: 610341 jmp fill
010331: 640002 omq
010332: 060012 dac i 10
010333: 451101 isz c1
010334: 610320 jmp 1b
010335: 110400 jms get
010336: 110365 jms checkdlm
010337: 630304 jmp i getparm
010340: 610335 jmp 1b
010341: 051102 dac t1
010342: 210550 lac space
010343: 640002 omq
010344: 060012 dac i 10
010345: 451101 isz c1
010346: 740000 nop
010347: 211102 lac t1
010350: 652000 lmq
010351: 211101 lac c1
010352: 741100 spa
010353: 610356 jmp 1f
010354: 641002 lacq
010355: 630304 jmp i getparm
010356: 210574 lac spsp
010357: 060012 dac i 10
010360: 451101 isz c1
010361: 451101 isz c1
010362: 610356 jmp 1b
010363: 641002 lacq
010364: 630304 jmp i getparm
010365: 000000 checkdlm: 0
010366: 550550 sad space
010367: 630365 jmp i checkdlm
010370: 550553 sad newln
010371: 630365 jmp i checkdlm
010372: 550546 sad amper
010373: 630365 jmp i checkdlm
010374: 550547 sad semic
010375: 630365 jmp i checkdlm
010376: 450365 isz checkdlm
010377: 630365 jmp i checkdlm
010400: 000000 get: 0
010401: 220010 lac i 8
010402: 550554 sad slash
010403: 741000 skp
010404: 630400 jmp i get
010405: 220010 lac i 8
010406: 550553 sad newln
010407: 741000 skp
010410: 610007 jmp comerr
010411: 641002 lacq
010412: 050420 dac 1f
010413: 110421 jms rline
010414: 210420 lac 1f
010415: 652000 lmq
010416: 660603 ecla llss 3
010417: 350316 tad o60
010420: 100000 jms putc
010421: 210431 lac 2f+1
010422: 660703 alss 3
010423: 050431 dac 2f+1
010424: 450430 isz 2f
010425: 610414 jmp 1b
010426: 450375 isz octal
010427: 630375 jmp octal i
010430: 000000 2: 0;0
010431: 000000
010416: 210550 lac space
010417: 630400 jmp i get
010420: 000000 1: 0
010421: 000000 rline:0
010422: 770600 law lineb-1
010423: 040017 dac 15
010424: 040010 dac 8
010425: 110445 jms getcha
010426: 060017 dac i 15
010427: 550553 sad newln
010430: 630421 jmp i rline
010431: 550551 sad sharp
010432: 610436 jmp psharp
010433: 550552 sad atsign
010434: 610422 jmp 2b
010435: 610425 jmp 1b
010436: 777777 -1
010437: 340017 tad 15
010440: 550422 sad 2b
010441: 610422 jmp 2b
010442: 350533 tad dm1
010443: 040017 dac 15
010444: 610425 jmp 1b
010445: 000000 getcha: 0
010446: 210577 lac char
010447: 150577 dzm char
010450: 740200 sza
010451: 630445 jmp i getcha
010452: 450600 isz nread
010453: 610467 jmp 1f
010454: 750000 cla
010455: 020004 sys read; inbuf; 64
010456: 011001
010457: 000100
010460: 741300 spa sna
010461: 610526 jmp lgout
010462: 740001 cma
010463: 350532 tad d1
010464: 050600 dac nread
010465: 771000 law inbuf-1
010466: 040016 dac 14
010467: 220016 lac i 14
010470: 652000 lmq
010471: 510543 and o777
010472: 050577 dac char
010473: 661611 ecla llss 9
010474: 630445 jmp i getcha
010475: 211104 lac narg
010476: 660502 lrss 2
010477: 740001 cma
010500: 350532 tad d1
010501: 051104 dac narg
010502: 771111 law args+4
010503: 050510 dac 1f
010504: 451104 isz narg
010505: 741000 skp
010506: 610051 jmp comretrn
010507: 020021 sys chdir; 1:0
010510: 000000
010511: 741100 spa
010512: 610517 jmp cherr
010513: 210510 lac 1b
010514: 350534 tad d4
010515: 050510 dac 1b
010516: 610504 jmp 2b
010517: 210510 lac 1b
010520: 050523 dac .+3
010521: 210532 lac d1
010522: 020005 sys write; ..; 4
010523: 010000
010524: 000004
010525: 610007 jmp comerr
010526: 650000 clq
010527: 210532 lac d1
010530: 020033 sys smes
010531: 020016 sys exit
010532: 000001 d1: 1
010533: 777777 dm1: -1
010534: 000004 d4: 4
010535: 777773 dm4: -5
010536: 000002 d2: 2
010537: 000007 d7: 7
010540: 000017 o17: 017
010541: 017771 o17771: 017771
010542: 007777 o7777: 07777
010543: 000777 o777: 0777
010544: 000076 gr: 076
010545: 000074 ls: 074
010546: 000046 amper: &>
010547: 000073 semic: 073
010550: 000040 space: 040
010551: 000043 sharp: 043
010552: 000100 atsign: 0100
010553: 000012 newln: 012
010554: 000057 slash: 057
010555: 000000 in: 0;0;0;0
010556: 000000
010557: 000000
010560: 000000
010561: 000000 out: 0;0;0;0
010562: 000000
010563: 000000
010564: 000000
010565: 077012 errmes: 077012
010566: 143150 chcom: <ch>
010567: 100040 ready: 0100040
010570: 000012 delim: 012
010571: 163171 system: <sy>; <st>; <em>; spsp: 040040
010572: 163164
010573: 145155
010574: 040040
010575: 011103 nargp: narg-1
010576: 010210 bootp: boot-1
010577: 000000 char: 0
010600: 777777 nread: -1
+5 -3
View File
@@ -85,7 +85,7 @@ alt/image.fs: altcmd altothers
clean:
rm -f boot.rim image.fs a.lst n.out a.out
rm -f alt/image.fs alt/a.out alt/a.lst
rm -rf $(BINDIR) $(TESTDIR)
rm -rf $(BINDIR) $(TESTDIR)
rm -rf $(BINARIES)
dirs:
@@ -95,7 +95,7 @@ dirs:
cmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \
$(BINDIR)/chown $(BINDIR)/chrm $(BINDIR)/cp $(BINDIR)/ds \
$(BINDIR)/dskres $(BINDIR)/dsksav $(BINDIR)/ed $(BINDIR)/init \
$(BINDIR)/db $(BINDIR)/stat $(BINDIR)/tm #$(BINDIR)/dmabs #$(BINDIR)/st
$(BINDIR)/db $(BINDIR)/stat $(BINDIR)/tm $(BINDIR)/dsw
# Alternate commands: no dd, but . and ..
altcmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \
@@ -162,7 +162,6 @@ $(BINDIR)/st: $(GAMESRC)/st/st1.s $(GAMESRC)/st/st2.s $(GAMESRC)/st/st3.s $(GA
$(BINDIR)/bc: $(CMDSRC)/bc/bc.s
$(AS) $(ASARGS) -o $(BINDIR)/bc $(CMDSRC)/bc/bc.s
# -- compile errors
$(BINDIR)/dsw: $(CMDSRC)/dsw/dsw.s
$(AS) $(ASARGS) -o $(BINDIR)/dsw $(CMDSRC)/dsw/dsw.s
@@ -174,6 +173,9 @@ $(BINDIR)/apr: $(CMDSRC)/apr/apr.s
$(BINDIR)/adm: $(CMDSRC)/adm/adm.s
$(AS) $(ASARGS) -o $(BINDIR)/adm $(CMDSRC)/adm/adm.s
$(BINDIR)/sh: $(CMDSRC)/sh/sh.s
$(AS) $(ASARGS) -o $(BINDIR)/sh $(CMDSRC)/sh/sh.s
# Alternative init: no dd directory
$(BINDIR)/altinit: $(ALTSRC)/init/init.s
$(AS) $(ASARGS) -o $(BINDIR)/altinit $(ALTSRC)/init/init.s
+1 -1
View File
@@ -24,7 +24,7 @@ wr:
lac d1
sys write; o12; 1
sys save
io:
do:
sys unlink; dir+1
sys exit
+1 -1
View File
@@ -24,7 +24,7 @@ wr:
lac d1
sys write; o12; 1
sys save
io:
do:
sys unlink; dir+1
sys exit
+430
View File
@@ -0,0 +1,430 @@
" ** 11-45-91.pdf page 30
" sh
clear:
jmp shell
1:
dzm i 8
isz clear
jms 1b
lacq
jmp 017771
zerop: .-1
comerr:
lac d1
sys write; errmes; 1
shell:
lac d1
sys write; ready; 1
shell1:
lac delim
sad newln
jms rline
jms getcom
lac narg
sna
jmp comretrn
lac args
sad chcom
skp
jmp 3f
lac args+1
sad spsp
jmp doch
3:
sys fork
skp
jmp loadcom
spa
jmp comerr
lmq
lac delim
sad amper
jmp shell1
lacq " hand written
clq " send mesg to child
sys smes
comretrn:
lac delim
sad newln
jmp shell
jmp shell1
loadcom:
sys open; args; 0
sma
jmp 1f
sys link; system; args; args
spa
" ** 11-45-91.pdf page 30
jmp 2f
-1
dac lnkflg
jmp loadcom
2:
lac lnkflg
sna
jmp 3f
sys unlink; args
3:
lac d1
sys write; args; 4
lac d1
sys write; errmes; 1
sys exit
1:
lac lnkflg
sna
jmp 1f
sys unlink; args
1:
lac in
sna
jmp 2f
cla
sys close
sys open; in; 0
sma
jmp 2f
lac d1
sys write; in; 4
sys write; errmes; 1
sys exit
2:
lac out
sna
jmp 1f
lac d1
sys close
lac o17
sys creat; out
spa
sys exit
1:
lac narg
cma
dac t1
tad o17771
dac 017777
tad dm1
dac 8
and o7777
dac boot+2
cma
tad d7
dac close
lac nargp
dac 9
" ** 11-45-91.pdf page 32
2:
lac i 9
dac i 8
isz t1
jmp 2b
lac bootp
dac 9
-6
dac t1
2:
lac i 9
dac i 8
isz t1
jmp 2b
lac d2
lmq
lac zerop
dac 8
jmp clear+1
boot:
sys read; 4096; ..
lacq
sys close
jmp 4096
getcom: 0
law args-1
dac 10
dzm in
dzm out
dzm narg
dzm lnkflg
jms get
nparm:
sad gr
jmp cgr
sad ls
jmp cls
sad amper
jmp endcom
sad semic
jmp endcom
sad newln
jmp endcom
sad space
jmp nparm-1
lmq
lac narg
tad d4
dac narg
lacq
jms getparm
jmp nparm
endcom:
dac delim
jmp getcom i
cls:
" ** 11-45-91.pdf page 33
jms get
jms getparm
dac t1
law in-1
jmp cpio
cgr:
jms get
jms getparm
dac t1
law out-1
cpio:
dac 11
lac 10
tad dm4
dac 10
lmq
-4
dac c1
1:
lac i 10
dac i 11
isz c1
jmp 1b
lacq
dac 10
lac t1
jmp nparm
getparm:0
lmq
-8
dac c1
lacq
skp
1:
jms get
sad space
jmp 1b
jms checkdlm
jmp comerr
jmp 2f
1:
jmp get
jms checkdlm
jmp fill1
2:
alss 9
isz c1
lmq
jms get
jms checkdlm
jmp fill
omq
dac i 10
isz c1
jmp 1b
1:
jms get
jms checkdlm
jmp i getparm
jmp 1b
" ** 11-45-91.pdf page 34
fill:
dac t1
lac space
omq
dac i 10
isz c1
nop
lac t1
fill1:
lmq
lac c1
spa
jmp 1f
lacq
jmp i getparm
1:
lac spsp
dac i 10
isz c1
isz c1
jmp 1b
lacq
jmp i getparm
checkdlm: 0
sad space
jmp i checkdlm
sad newln
jmp i checkdlm
sad amper
jmp i checkdlm
sad semic
jmp i checkdlm
isz checkdlm
jmp i checkdlm
get: 0
lac i 8
sad slash
skp
jmp i get
lac i 8
sad newln
skp
jmp comerr
lacq
dac 1f
jms rline
lac 1f
lmq
lac space
jmp i get
1: 0
rline:0
2:
law lineb-1
dac 15
dac 8
1:
jms getcha
" ** 11-45-91.pdf page 35
dac i 15
sad newln
jmp i rline
sad sharp
jmp psharp
sad atsign
jmp 2b
jmp 1b
psharp:
-1
tad 15
sad 2b
jmp 2b
tad dm1
dac 15
jmp 1b
getcha: 0
lac char
dzm char
sza
jmp i getcha
isz nread
jmp 1f
cla
sys read; inbuf; 64
spa sna
jmp lgout
cma
tad d1
dac nread
law inbuf-1
dac 14
1:
lac i 14
lmq
and o777
dac char
ecla llss 9
jmp i getcha
doch:
lac narg
lrss 2
cma
tad d1
dac narg
law args+4
dac 1f
2:
isz narg
skp
jmp comretrn
sys chdir; 1:0
spa
jmp cherr
lac 1b
tad d4
dac 1b
jmp 2b
cherr:
" ** 11-45-91.pdf page 36
lac 1b
dac .+3
lac d1
sys write; ..; 4
jmp comerr
lgout:
clq
lac d1
sys smes
sys exit
d1: 1
dm1: -1
d4: 4
dm4: -5
d2: 2
d7: 7
o17: 017
o17771: 017771
o7777: 07777
o777: 0777
gr: 076
ls: 074
amper: &>
semic: 073
space: 040
sharp: 043
atsign: 0100
newln: 012
slash: 057
in: 0;0;0;0
out: 0;0;0;0
errmes: 077012
chcom: <ch>
ready: 0100040
delim: 012
system: <sy>; <st>; <em>; spsp: 040040
nargp: narg-1
bootp: boot-1
char: 0
nread: -1
lineb: .=.+128
inbuf: .=.+64
c1: .=.+1
t1: .=.+1
lnkflg: .=.+1
narg: .=.+1
args: