Unix 6th Edition source oddity
The 6th Edition Unix kernel source code has a very weird struct:
/*
* structure to access an
* integer in bytes
*/
struct
{
char lobyte;
char hibyte;
};
The 6th Edition Unix kernel source code has a very weird struct:
/*
* structure to access an
* integer in bytes
*/
struct
{
char lobyte;
char hibyte;
};
Once upon a time, I wrote a reasonably-strict-C89 C language program that “relocates” a function in memory and then runs it. That relocated function can relocate itself again, and run that copy, and so on and so forth.
I wrote a Z80 assembly program
for my RC2014 Zed computer.
I wanted to get a complete CP/M experience,
so I used the CP/M 2.2 ASM
assembler, LOAD
relocator,
and the DDT
debugger.
I did cheat a little. Although I used the vintage RED editor for some text input, I also wrote some on my Linux laptop, and transferred to the RC2014 Zed via XMODEM.
I built a Z80-based RC2014 Zed computer from a kit.
It’s often said that DEC operating systems influenced the design of the CP/M microcomputer OS. Let’s examine that assertion by looking at how a process was laid out in memory.