From 6fbc8c3a05a3ae38c22f6ad82ed103f6903f69ca Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Sat, 5 Mar 2016 14:32:15 -0500 Subject: [PATCH 1/2] ptr: dump memory starting at '..' --- tools/as7 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/as7 b/tools/as7 index 41b0c09..dcc3d81 100755 --- a/tools/as7 +++ b/tools/as7 @@ -213,7 +213,7 @@ elsif ($format eq 'list') { dump_labels($OUT); } elsif ($format eq 'ptr') { # dump absolute memory in PTR binary - for my $loc ( 0 .. $#Mem ) { + for my $loc ( $Var{'..'} .. $#Mem ) { punch($Mem[$loc] || 0); } } From 668e4c9cffdf2da118a564d56cc718cf151debc3 Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Sun, 6 Mar 2016 01:36:52 -0500 Subject: [PATCH 2/2] set argptr; increment argc by four --- src/other/sh.s | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/other/sh.s b/src/other/sh.s index cb26485..e57e282 100644 --- a/src/other/sh.s +++ b/src/other/sh.s @@ -28,6 +28,8 @@ newcom: dzm argv0 " clear out argv0 for chdir comparison dzm argv0+1 dzm argv0+2 + lac argcptr + dac argptr lac iopt " reset output pointer dac opt dac nextarg @@ -106,7 +108,9 @@ eoname: sza jmp 1f " last name was a redirect file, skip increment - isz argc " increment argc + lac argc " increment argc + tad d4 + dac argc lac nextarg tad d4 " advance nextarg dac nextarg @@ -242,19 +246,16 @@ error: " here for error in child: filename pointer in AC lac d1; sys write; qmsp; 1 lac d1; sys write; 1: 0; 4 lac d1; sys write; nl; 1 -" XXX smes to parent??? lac d2; sys close sys exit " end code from init.s " ================ +" here in parent, child pid in AC parent: - dac pid -1: sys rmes - sad pid - jmp newline - jmp 1b +" sys smes " hangs until child exits + jmp newline " chdir command: changedir: @@ -389,6 +390,8 @@ outfilep: outfile outfile: .=.+4 " buffer for output redirect file name infile: .=.+4 " buffer for input redirect file name +argcptr: argc + " leave room for maxargs items of 4 words each maxargs=8