On Tue, Jan 4, 2022 at 3:38 PM Will Senn <will.senn@gmail.com> wrote:
[snip]
My questions are:
1. Is mesg or an equivalent available in v7?
Perhaps just call printf?
2. If not, what was the v7 way of putting strings out?
Here's what I did:
$ rm -f h h.o
$ cat h.s
.globl _printf, _exit
mov sp, r5
mov $hi,(sp)
jsr pc,*$_printf
mov $0, (sp)
jsr pc,*$_exit
hi: <Hello, World!\n\0>
$ as -o h.o h.s
$ ld -o h h.o -lc
$ ./h
Hello, World!
$ rm h h.o
3. Why aren't the system call names defined?
If I had to hazard a guess, it would have been to de-emphasize the use
of assembler for user code, particularly as 7th Edition was starting
to be portable beyond the PDP-11.
4. What was the v7 way of naming system calls?
I imagine the canonical way to invoke system calls from assembler was
invoking calling functions in the C library and linking against that.
- Dan C.