Diff between 11/20 and 11/45?

Steven M. Schultz sms at moe.2bsd.com
Wed Sep 8 10:49:36 AEST 1999

> From: Carl Lowenstein <cdl at mpl.ucsd.edu>
> The first genuine user-mode difference that I remember coming across was
> an incompatibility in the result of
> 	MOV SP, -(SP)


		MOV R0,(R0)+

	won't work as expected on some 11s.  I suspect that the even less
	likely case of "mov pc,-(pc)" won't work either :-)

> It isn't really clear to me why one would want to use this particular
> instruction, however it turned out to hang both BASIC and FOCAL at the

	Fairly common when setting up call frames, etc.  You want the
	address of where the arguments start and since they're pushed on the
	stack 'sp' is the value you want.

	There's a comment in 2BSD (I think it came from V7) where mention is 
	made that "we can't do sp,-(sp) because it won't work on the 11/40".

> time.  A zero-length patch wasn't too hard to figure out.

	Hmmm, interesting.  The workaround I saw took an extra instruction.

	Steven Schultz
	sms at moe.2bsd.com

Received: (from major at localhost)
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id KAA03462
	for pups-liszt; Wed, 8 Sep 1999 10:53:48 +1000 (EST)

More information about the TUHS mailing list