Re: NOP instruction

Mark H. Wood (mwood@IUPUI.Edu)
Wed, 16 Dec 1998 10:01:02 -0500 (EST)


On Wed, 16 Dec 1998, Chris Wedgwood wrote:
[quote snipped]
> Several architectures have real NOPs -- Intel might be one of the few
> that doesn't.
>
> (Hoping everyone will jump in with their favorite arch. now)

The PDP10 had more NOPs than I can (now) remember. SKIP, JUMP, SETMM come
to mind. (One of my favorite grins re. PDP10s is that "SKIP doesn't skip,
and JUMP doesn't jump".)

The SKIPx and JUMPx instructions are arithmetic tests, so SKIPLE AC,MEM
advances over the next instruction if the content of register AC is not
greater than the value at MEM and JUMPA EA is an unconditional (always)
jump to EA. (But the canonical unconditional jump was JRST EA -- Jump and
ReSTore but don't restore anything. JRST is faster than JUMPA.
Interestingly enough, the halt instruction was JRST 4,ANYWHERE and would
show ANYWHERE in the console lights for your edification -- you could put
arbitrary codes on the console this way to distinguish your "can't get
here" cases easily or display the results of an effective-address
calculation. Much more informative than BSOD.)

SETMM (SET to Memory Memory) causes a memory read/write cycle but doesn't
alter any values. (It reads the value at some location and then writes it
back.) It probably DOES alter the pager database, by possibly causing
pagefaults and setting dirty bits, but it was a reasonable no-op before VM
was added to the architecture.

The PDP10 had lots of groups of instructions which included operations
that didn't seem to have much use, because early models were built out of
wirewrapped discrete logic and it was much simpler to do it that way than
to put in all kinds of special cases to siphon off the nonsensical ops for
other uses. Finding real uses for every single instruction was a favorite
pastime of PDP10 programmers, but I think only one person is generally
recognized as having achieved this particular Grail.

-- 
Mark H. Wood, Lead System Programmer   mwood@IUPUI.Edu
Innovation is only valuable if it improves one's life; otherwise it's
just one more silly change to cope with.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/