The Clown Companion
CLOWN is an open-source simulator of an Intel-type computer that includes a CPU, RAM, hard drive, DMA controller, timer, monitor, and keyboard. The package contains the simulator itself, assembler, linker, and various disk utilities.
CLOWN can be used to teach or study operating systems, computer organization, computer architectures, assembly programming, and probably other subjects.
The book describes the organization of the package: the architecture of the CLOWN CPU and the periphery devices, thje instruction set, the syntax of the assembly language, command line options, and basic programming techniques. There are also ten programming assignments that can be used in an operating system class.