[comp.arch] Bootstrapping, was Self-modifying code

baum@Apple.COM (Allen J. Baum) (10/26/89)

[]
I once built a machine that had, as instruction 0x00, push i/o device 0 onto
the stack. The stack ran backwards. Bootstrapping started by clearing out
memory, and initializing the stack point and PC. The processor proceeded to
execute all zero instructions, which read bootstrapping code from the I/O
device and pushed it onto the stack. The PC continued to be incremented, the
stack continued to be decremented, and when the met, you took off. In
hindsight, of course, it would havebeen easier if the stack ran forward.
--
		  baum@apple.com		(408)974-3385
{decwrl,hplabs}!amdahl!apple!baum

ken@cs.rochester.edu (Ken Yap) (10/30/89)

The PDP-11/40 I once used had an interesting primary bootstrap for an
AED disk. From the front panel, one toggled in a BR HERE at 0776, then
started the CPU.  Pressing the IPL button then loaded the bootstrap
block in locations 0-0777. When the last instruction was overwritten,
the CPU branched into the body of the secondary bootstrap.

sritacco@hpdml93.HP.COM (Steve Ritacco) (11/16/89)

This sounds neat!

Please post the reference.