Subject: Re: Alpha assembly question...
To: None <rhialto@polder.ubc.kun.nl, thorpej@nas.nasa.gov>
From: Ross Harvey <ross@ghs.com>
List: port-alpha
Date: 02/18/2000 11:34:27
> From: Jason Thorpe <thorpej@nas.nasa.gov>
>
> On Fri, 18 Feb 2000 14:46:55 +0100 
>  Olaf Seibert <rhialto@polder.ubc.kun.nl> wrote:
>
>  > On Wed 16 Feb 2000 at 11:29:56 -0800, Jason Thorpe wrote:
>  > > "bis" == logical sum
>  > 
>  > I'd expect it to mean "bit set", like on the PDP-11 and the VAX?  Also
>  > known as "OR", indeed. I think I also spotted a "bic" instruction in
>  > libkern ("bit clear"), which does an "AND" with the inverse. If it all
>  > means the same as I'm used to ;-)
>
> Yah, pretty much :-)

TRIVIA WARNING!  UNIMPORTANT MNEMONIC HISTORY!

Right, once upon a time DEC apparently had a popular cpu (recently unearthed
documents call it a "PDP-11") with no AND instruction.  Certainly, then,
they didn't want an OR. ("*&#@@!*!, there's OR, where is the @#&!@ AND?)

So:
	BIS	a,b	bit set		b |= a;
	BIC	a,b	bit clear	b &= ~a;
	BIT	a,b	bit test	(a & b) /* set condition codes */

Then, the "successor", the VAX came along. No AND. ("@#$&!@!, it was not
a mistake.") And this on a cpu that had an instruction sort of like printf(3),
called "EDITPC", and another one called POLY. (Don't ask.)

Then, the alpha came along and when no one was looking some heretic put in
an AND instruction. ("*@#$$@!, Intel has one.") But, of course it still
has BIS, and BIC for hysterical raisons.  But now, with AND, it sort of
needs to have an OR somewhere, to stave off "@$#!%, there's AND, where's
OR?".

Hope this helps. :-)

	ross