[net.arch] Infinite indirection

kevin@sun.uucp (Kevin Sheehan) (02/18/86)

	HP's 2100/21mx/1000/whatever they are called this year had the same
feature - the sign bit on a 16-bit pointer caused indirection to continue.
As the pointers were to words, it left you talking to 32KW (W = 16bits)
as most, except for the (later) kludged in character pointers which pointed
to bytes, and therefore didnt use the indirect bit (and werent the same
address either - my first lesson with (int *) != (char *))
	It also had the same "feature" about pointers to each other, it
would hang the system, dead even to interrupts.
	When HP finally let you talk to more memory, some of the games to
get to it resembled certain unnatural acts...
	Two other things stand out about this family in my memory, they
let you talk to the registers as memory locations, so absolute addressing
would also let you talk to a register.  In C, you could declare something
in a register, and later take its address (but why bother with only 2
registers :-)  The other pleasant feature was the way you called a subroutine:

	jsr	blarp

blarp:	nop	<---  return address goes here, no stack

	When you jsr, it writes the return location there, then continues
on after that.  No I/D protection here fans, you couldnt ROM anything that did
jsr's, and you couldnt do recursive/reentrant code without resorting to
previously mentioned deviant activies (and some real fast talking to the atom
gods)

	On the other hand, the suckers never broke, and the family is still
a pretty good workhorse for a machine that was old when I was in high school.

			l & h,
			kev

Disclaimer: if they cant take a joke...