From ab77e0c69c31e71a8d05db2b30bfb67b4f715d59 Mon Sep 17 00:00:00 2001 From: rswier Date: Sat, 27 Feb 2016 16:38:58 -0500 Subject: [PATCH] Transcribed the remainder of 06-5-12.pdf First draft --- scans/Readme | 13 +- scans/check.s | 326 ++++++++++++++++++++++++++++++++++++++++++++++++++ scans/chmod.s | 77 ++++++++++++ scans/chown.s | 78 ++++++++++++ scans/chrm.s | 41 +++++++ scans/cp.s | 97 +++++++++++++++ 6 files changed, 628 insertions(+), 4 deletions(-) create mode 100644 scans/check.s create mode 100644 scans/chmod.s create mode 100644 scans/chown.s create mode 100644 scans/chrm.s create mode 100644 scans/cp.s diff --git a/scans/Readme b/scans/Readme index 98da674..30daf4c 100644 --- a/scans/Readme +++ b/scans/Readme @@ -24,10 +24,15 @@ sx.s: temp additional symbol defns maksys.s: page 64 of 01-s1.pdf trysys.s: page 65 of 01-s1.pdf -bc.s: pages 7-11 of 06-5-12.pdf -bi.s: pages 12-19 of 06-5-12.pdf -bl.s: pages 3-6 of 06-5-12.pdf -cat.s: pages 21-23 of 06-5-12.pdf +bl.s: pages 3-6 of 06-5-12.pdf +bc.s: pages 7-11 of 06-5-12.pdf +bi.s: pages 12-19 of 06-5-12.pdf +cat.s: pages 21-23 of 06-5-12.pdf +check.s: pages 25-30 of 06-5-12.pdf +chown.s: pages 32-33 of 06-5-12.pdf +chmod.s: pages 35-36 of 06-5-12.pdf +cp.s: pages 38-39 of 06-5-12.pdf +chrm.s: page 41 of 06-5-12.pdf db.s: pages 2-21 of 07-13-19.pdf dmabs.s: pages 23-27 of 07-13-19.pdf diff --git a/scans/check.s b/scans/check.s new file mode 100644 index 0000000..fb753bd --- /dev/null +++ b/scans/check.s @@ -0,0 +1,326 @@ +" check + +lac d1 +sys sysloc +dac iget + +lac d2 +sys sysloc +dac inode + +lac d4 +sys sysloc +dac nxfblk +tad d1 +dac nfblks +tad d1 +dac fblks + +lac d5 +sys sysloc +dac copy + +lac d6 +sys sysloc +dac copyz + +lac d7 +sys sysloc +dac betwen + +lac d8 +sys sysloc +dac dskrd + +lac d10 +sys sysloc +dac dskbuf +dac dskbuf1 + + dzm indircnt + dzm icnt + dzm licnt + dzm blcnt + dzm curi + jms coopyz i; usetab; 500 + +iloop: + isz curi + -3400 + tad curi + sma + jmp part2 + lac curi + jms iget i + jms copy i; inode: 0; linode; 12 + lac iflags + sma + jmp iloop + isz icnt + lac iflags + and o40 + sza + jmp iloop + law idskps + dac t1 + -7 + dac t2 +1: + lac i t1 + sza + jms dupchech + isz t1 + isz t2 + jmp 1b + lac iflags + and o200000 + sna + jmp iloop + + isz licnt + law idskps + dac t1 + -7 + dac t2 +1: + lac i t1 + sna + jmp 3f + jms dskrd i + jms copy i; dskbuf: 0; ldskbuf; 64 + isz indircnt + law ldskbuf + dac t3 + -64 + dac t4 +2: + lac i t3 + sza + jms dupcheck + isz t3 + isz t4 + jmp 2b +3: + isz t1 + isz t2 + jmp 1b + jmp iloop + +dupcheck: 0 + isz blcnt + jms betwen i d709; d6400 + jmp badadr + dac t5 + lrss 4 + tad usetabp + dac t6 + cla + llss 4 + tad alsscom + dac 2f + lac d1 +2: alss 0 + dac bit + lac i t6 + and bit + sza + jmp dup + lac i t6 + xor bit + dac i t6 + xor bit + dac i t6 + jmp i dupcheck + +badadr: + jms print + lac d1 + sys write; badmes; 3 + jmp i dupcheck +badmes: + < b>;;;; 040; 012 + +print: 0 + lmq + law prbuf-1 + dac 8 + -6 + dac t6 +1: + cla + llss 3 + tad o60 + dac i 8 + isz t6 + jmp 1b + lac d1 + sys write; prbuf; 6 + jmp i print + +part2: + lac icnt + jmp print + lac d1 + sys write; m3; m3s + lac licnt + jms print + lac d1 + sys write; m4; m4s + lac indircnt + jms print + dac d1 + sys write; m5; m5s + lac blcnt + jms print + lac d1 + sys write; m6; m6s + dzm blcnt + + -1 + tad nfblks i + cma + sma + jmp 2f + dac t1 + lac fblks + dac t2 +1: + lac i t2 + jms dupcheck + isz t2 + isz t1 + jmp 1b + +2: + lac nxfblk i +1: + sna + jmp part3 + dac t1 + jms dupcheck + lac t1 + jms dskrd i + jms copy i; dskbuf1: 0; ldskbuf; 64 + law ldskbuf + dac t1 + -9 + dac t2 +2: + isz t1 + lac i t1 + jms dupcheck + isz t2 + jmp 2b + lac ldskbuf + jmp 1b + +part3: + lac blcnt + jms print + lac d1 + sys write; m7; m7s + lac d709 + dac t1 +1: + isz t1 + lac t1 + sad d6400 + sys exit + lrss 4 + tad usetabp + dac t2 + cla + llss 4 + tad alsscom + dac 2f + lac d1 +2: alss 0 + dac bit + lac i t2 + and bit + sza + jmp 1b + lac t1 + jms print + lac d1 + sys write; m8; m8s + jmp 1b + +d1: 1 +d2: 2 +d4: 4 +d5: 5 +d6: 6 +d7: 7 +d8: 8 +d10: 10 +o60: 060 +o400000: 0400000 +o400001: 0400001 +o40: 040 +o200000: 0200000 +alsscom: alss 0 +d709: 709 +d6400: 6400 + +m3: + 040;;;;;;;;;012 +m6s = .-m6 +m7: + 040;;;012 +m7s = .-m7 +m8: + 040;;;;;040040;040040;040040 +d1: 1 +d4: 4 +d5: 5 +dm4: -4 \ No newline at end of file diff --git a/scans/cp.s b/scans/cp.s new file mode 100644 index 0000000..a77f91b --- /dev/null +++ b/scans/cp.s @@ -0,0 +1,97 @@ +" cp + + lac 017777 + tad d1 + dac name2 +loop: + lac 017777 i + sad d4 + sys exit + sad d8 + jmp unbal + tad dm8 + dac 017777 i + lac name2 + tad d4 + dac name1 + tad d4 + dac name2 + sys open; name1: 0; 0 + spa + jmp error + lac o17 + sys creat; name2: 0 + spa + jmp error + dzm nin + +1: + lac bufp + tad nin + dac 0f + -1 + tad nin + cma + tad d1024 + dac 0f+1 + lac d2 + sys read; 0:..;.. + sna + jmp 2f + tad nin + dac nin + sad d1024 + jmp 2f + jmp 1b +2: + lac nin + dac 2f + lac d3 + sys write; buf; 2: 0 + dzm nin + lac 2b + sad d1024 + jmp 1b + lac d2 + sys close + lac d3 + sys close + jmp loop +error: + lac name1 + dac 1f + lac d1 + sys write; 1: 0; 4 + lac d1 + sys write; mes; 1 + lac name2 + dac 1f + lac d1 + sys write; 1: 0; 4 + lac d1 + sys write; mes; 2 + jmp loop +mes: + 040000;077012 +unbal: + lac name2 + tad d4 + dac 1f + lac d1 + sys write; 1: 0; 4 + lac d1 + sys write; mes; 2 + sys exit + +d1: 1 +d4: 4 +d8: 8 +o17: 017 +dm8: -8 +d3: 3 +d1024: 1024 +nin: 0 +bufp: buf +d2: 2 + +buf: \ No newline at end of file