From 025f276c5602bda25ae31f7f202dca0b109e56ea Mon Sep 17 00:00:00 2001 From: Tom Everett Date: Sat, 19 Oct 2019 16:35:08 -0600 Subject: [PATCH] added salv to image --- build/Makefile | 5 +- build/proto | 1 + src/cmd/salv.s | 298 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 303 insertions(+), 1 deletion(-) create mode 100644 src/cmd/salv.s diff --git a/build/Makefile b/build/Makefile index 0bb8c25..8bc377b 100644 --- a/build/Makefile +++ b/build/Makefile @@ -97,7 +97,7 @@ cmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \ $(BINDIR)/dskres $(BINDIR)/dsksav $(BINDIR)/ed $(BINDIR)/init \ $(BINDIR)/db $(BINDIR)/stat $(BINDIR)/tm $(BINDIR)/dsw $(BINDIR)/apr \ $(BINDIR)/cas $(BINDIR)/rm $(BINDIR)/rn $(BINDIR)/pd $(BINDIR)/nm \ - $(BINDIR)/roff $(BINDIR)/p $(BINDIR)/apr + $(BINDIR)/roff $(BINDIR)/p $(BINDIR)/apr $(BINDIR)/salv # Alternate commands: no dd, but . and .. altcmd: dirs $(BINDIR)/as $(BINDIR)/cat $(BINDIR)/check $(BINDIR)/chmod \ @@ -197,6 +197,9 @@ $(BINDIR)/roff: $(CMDSRC)/roff.s $(BINDIR)/p: $(CMDSRC)/p0.s $(CMDSRC)/p1.s $(CMDSRC)/p2.s $(CMDSRC)/p3.s $(CMDSRC)/p4.s $(CMDSRC)/p5.s $(AS) $(ASARGS) -o $(BINDIR)/p $(CMDSRC)/p0.s $(CMDSRC)/p1.s $(CMDSRC)/p2.s $(CMDSRC)/p3.s $(CMDSRC)/p4.s $(CMDSRC)/p5.s +$(BINDIR)/salv: $(CMDSRC)/salv.s + $(AS) $(ASARGS) -o $(BINDIR)/salv $(CMDSRC)/salv.s + # Alternative init: no dd directory $(BINDIR)/altinit: $(ALTSRC)/init.s $(AS) $(ASARGS) -o $(BINDIR)/altinit $(ALTSRC)/init.s diff --git a/build/proto b/build/proto index a6063e7..7d9762e 100644 --- a/build/proto +++ b/build/proto @@ -51,6 +51,7 @@ dd drwr- -1 4 roff frwr- -1 bin/roff rn frwr- -1 bin/rn rm frwr- -1 bin/rm + salv frwr- -1 bin/salv sh frwr- -1 bin/sh stat frwr- -1 bin/stat tm frwr- -1 bin/tm diff --git a/src/cmd/salv.s b/src/cmd/salv.s new file mode 100644 index 0000000..9bc2a5a --- /dev/null +++ b/src/cmd/salv.s @@ -0,0 +1,298 @@ +" ** 11-45-91.pdf page 25 +" salv + + 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 + + lac d15 + sys sysloc + dac free + + dzm indircnt + dzm icnt + dzm licnt + dzm blcnt + dzm curi + jms copyz 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 + +" ** 11-45-91.pdf page 26 + + lac iflags + and 040 + sza + jmp iloop + law idskps + dac t1 + -7 + dac t2 +1: + lac i t1 + sza + jms dupcheck + 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; idskbuf: 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 + +" ** 11-45-91.pdf page 27 + + lac d1 +2: alss 0 + dac bit + lac i t6 + and bit + sza + jmp dup + lac i t6 + xor bit + dac i t6 + jmp i dupcheck + +badadr: + jms print + lac d1 + sys write; badmes; 3 + jmp i dupcheck +badmes: + < b>;;;;;;;;;;;012 + m6s = .-m6 +m7: + 040;;;012 + m7s = .-m7 +m8: + 040;;;;