1
0
mirror of https://github.com/DoctorWkt/pdp7-unix.git synced 2026-01-27 12:42:28 +00:00
Commit Graph

47 Commits

Author SHA1 Message Date
Warren Toomey
9c79bbb15d Oops, didn't initialise $mode properly. 2016-03-02 20:42:45 +10:00
Warren Toomey
dc2d2dd63b Phil's change to as7 to implement RELATIVE flag. He says:
seems to assemble cat.s and kernel reasonably...
   (famous last words)
I've updated a7out to use the same starting location. It runs cat.s OK.
2016-03-02 20:38:00 +10:00
Warren Toomey
d1a6bf8a39 Hah, I worked out how to bring as7 back. Sorry Phil! 2016-03-02 18:41:39 +10:00
Warren Toomey
c073aee196 Added unlink and chdir syscalls to a7out 2016-03-02 18:31:25 +10:00
Warren Toomey
9fcffe7e43 Merge remote-tracking branch 'origin/master' 2016-03-02 18:00:56 +10:00
Warren Toomey
bcb2cb0f15 local changes. 2016-03-02 17:59:34 +10:00
Warren Toomey
a3d6090fe7 tools/as7: added syscalls chmod and chown, added auto-increment
locations, fixed a bug in character input, added several EAE
instructions. We now have cp.s, chmod.s and chown.s working.
2016-03-02 17:55:33 +10:00
Phil Budne
97b11c6e40 start with .=4096. This isn't what as.s does (and will break the kernel) 2016-03-01 20:36:13 -05:00
Phil Budne
1bb80f01ec add --output, --namelist, rim output format, always set 0200 on ptp/rim output 2016-03-01 19:31:01 -05:00
Warren Toomey
5bda1307c9 Moved my non-scanned programs into src/other. 2016-03-02 06:30:25 +10:00
Warren Toomey
02eeb59977 tools/a7out: Added the creat() system call. 2016-03-02 06:14:12 +10:00
Phil Budne
ff4d793ca5 another round of (hopeful) improvements
add indirect bit to "sys" definition
set initial ".." (output base) to 4096 (not yet honored)
add "ptr" output format (binary in paper tape reader format: 3 frames of 6 bits)
remove IOT instrictions (system source uses sop.s)
always write labels to "n.out"
add debug output
fix multiply defined error handling (process symbolic labels on both passes)
2016-03-01 11:22:53 -05:00
Phil Budne
66909ac6fd fix bugs noted by warren 2016-03-01 11:22:29 -05:00
Warren Toomey
a2e8a187b2 tools/a7out: I took out the code to pretend to deal with binary files,
and I did a perltidy to reformat the code.
2016-03-01 18:28:37 +10:00
Warren Toomey
145725ba4c Warren's version of a cp command. 2016-03-01 16:57:40 +10:00
Warren Toomey
73c066ae9d I've restructured the opr code and the add code using the SimH logic
and I fixed up some bugs with the new command interpreter. I'm getting
so close to cat.s working!
2016-03-01 16:55:03 +10:00
Phil Budne
aeceb8614a move whitespace removal back in word loop 2016-03-01 01:43:24 -05:00
Phil Budne
249ce47e44 OR syllables by default (allows multiple OPR instructions) 2016-02-29 14:24:37 -05:00
Warren Toomey
220f87efed Rewording of the a7out help text. 2016-02-29 17:10:25 +10:00
Warren Toomey
714de5a7e1 I've added a single-step mode to tools/a7out and rationalised the debug output.
Some small changes to src/cmd/cat.s and wktcat.s to reflect the correct number
of arguments to open. Typos fixes to src/cmd/cat.s.
2016-02-29 16:47:13 +10:00
Phil Budne
9e148edefc changes in expression parsing 2016-02-28 16:29:01 -05:00
Warren Toomey
ed80a93a08 tools/a7out: I added another 7 instructions, but I haven't tested them yet. 2016-02-27 21:55:12 +10:00
Warren Toomey
ea7cd8da28 tools/a7out: Added the jms instruction. 2016-02-27 15:55:40 +10:00
Warren Toomey
ea11773db7 tools/a7out: Add the law instruction and change some numeric literals to
named constants.
2016-02-27 15:24:01 +10:00
Warren Toomey
4ee2619b8c I refactored tools/wktcat.s to lose the repeated code, and I also
improved the comments in the code. I'm happy with it, now.
2016-02-27 11:12:16 +10:00
Warren Toomey
fafeae7470 I've rewritten tools/a7out to have the correct PDP-7 Unix command
line memory storage convention, and I've rewritten tools/wktcat.s
to deal with this. I've imported some code from the real cat.s
and now wktcat.s actually works as per the real cat.s.
2016-02-27 10:49:43 +10:00
Warren Toomey
d2511c36c0 I'm trying to bring my wktcat.s file into line with the real one.
I've refactored tools/a7out to have a dprintf() function to printf
only on debugging. I still need to rewrite the command-line arg
storage structure.
2016-02-27 08:05:52 +10:00
Warren Toomey
d6d4c9b814 According to cat.s, fd 8 is standard error (not fd2!). I've updated
the a7out simulator to have STDERR on fd 8.
2016-02-26 22:37:03 +10:00
Warren Toomey
9c8dbdea37 tools/a7out: I refactored the indirect logic, much nicer now. 2016-02-26 21:57:10 +10:00
Warren Toomey
a132327a8b a7out: I had the spa logic wrong. Now fixed. 2016-02-26 21:45:55 +10:00
Warren Toomey
6534bd6d43 I renamed simplecat.s to wktcat.s 2016-02-26 21:28:22 +10:00
Warren Toomey
536de9ea56 I worked out the bug with the command-line arguments, I was overwriting
017777, oops. I've added more comments to wktcat.s (renamed from
simplecat.s). Now we need to find out how the real PDP-7 Unix
does command line arguments.
2016-02-26 21:26:44 +10:00
Warren Toomey
8f8cc64d10 I've added tad and sza to the a7out simulator, and I also added some
code to place command-line arguments into the simulated memory. I'm
trying to write my own version of cat so I can compare mine to the
real one. Right now there's a bug when simplecat has two arguments.
Zero and one arguments are OK! Saving so I have a backup before proceeding.
2016-02-26 20:56:31 +10:00
Warren Toomey
b8550475b0 I've got a very simple cat program working, which reads from stdin and
sends it to stdout.
2016-02-26 18:43:20 +10:00
Phil Budne
815d8bc220 comment out debug prints 2016-02-25 21:03:39 -05:00
Phil Budne
2cca3d4473 finish s1.s; tried to clean up s5-s8; let as7 continue after error 2016-02-25 20:58:17 -05:00
Warren Toomey
c84b2dffdd I've changed the assembler so that it groks the <ab> string literal
syntax. I think it's OK, but it probably needs more testing.
write_test.s was changed to exercise the string parsing.
2016-02-26 07:35:36 +10:00
Warren Toomey
018af6f43e Ken Thompson sent e-mail in to explain that there can be labels mid-line, such as
sys write; 1:0; 4

so I modified the assembler logic to support this, and added some code to write_test.s
to verify that it works.
2016-02-26 06:52:43 +10:00
Warren Toomey
f9b8c8eeb2 Changed as7 to allow sys open statements, rewrite write_test.s to
use this syntax, and fixed up a bug in sys_open in a7out.
2016-02-26 06:19:27 +10:00
Warren Toomey
4b9f851a84 Explain how to assemble and run the program. 2016-02-25 18:50:00 +10:00
Warren Toomey
45fb97e051 An assembly program to test the a7out user-mode simulator.
Expext its contents to change often as a7out is written.
2016-02-25 18:47:17 +10:00
Warren Toomey
cc678483e1 I've added read() now, but I haven't tested it fully yet. 2016-02-25 18:43:44 +10:00
Warren Toomey
b463500f37 I've got a few system calls working: open, close, write, exit along with the
instructions dac, lac, iot and hlt. I can print Hello, world\n, yay!
2016-02-25 18:12:57 +10:00
Warren Toomey
f5554d1181 The beginnings of the user-mode simulator: three instructions so far 2016-02-25 10:25:43 +10:00
Warren Toomey
07c95bbe15 I commented out most of the debug lines, and I now output the octal code
along with the input line that generated it. There is code to use values
of defined constants as well as defined labels.
2016-02-24 13:25:24 +10:00
Warren Toomey
f46777b272 Added code to output the final machine code in octal. Parse
the 'i' argument to instructions that indicate indirect mode.
2016-02-24 11:15:47 +10:00
Warren Toomey
d70b4e87cc First version of as7, which is definitely incomplete. I now need some
example assembly programs and their machine code octal dumps so that
I can complete as7 and get it working properly.
2016-02-24 09:16:32 +10:00