[comp.arch] Risky instructions

pardo@june.cs.washington.edu (David Keppel) (08/05/88)

>I respectfully differ.  The 6809 has a SEX instruction ("Sign EXtend",
It also has Branch on LOw  (BLO).

The TI 9900 is really kinky, it has the Branch and Load Workspace
Pointer (BLWP - Bullwhip) instruction.

All seriousness aside, if you ever get a chance to look at the
UMichigan list of opcodes (Circa 1970, since reprinted elsewhere) you
really should.  Favorites include:

RETM  # RETurn to Manufacturer
BROW  # BRanch On Wednesday
HACF  # Halt And Catch Fire

This last one (rumor has it) was actually implemented in a particular
IBM (if you ran the right program):

  + Temperature sensor is near the core memory.
  + Core memory must be written every time it is read.
  + Put a "branch to self" instruction in the right place.
  + One location keeps being read then written, gets hot.
  + Temperature sensor shuts down the computer.

Actually, I don't know if the opcode list was originally from UMich;
the earliest version that I've seen was from there.  Anybody know of
older versions?

	;-D on  ( The processor blushes on instruction decode ) Pardo

			pardo@cs.washington.edu
	{rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo

" Maynard) (08/09/88)

In article <5440@june.cs.washington.edu> pardo@uw-june.UUCP (David Keppel) writes:
>Actually, I don't know if the opcode list was originally from UMich;
>the earliest version that I've seen was from there.  Anybody know of
>older versions?

This sounds like the legendary product announcement for the IBM 360/69.
I've heard of that particular piece of writing, buit have never seen
one. Anyone out there have (even a [legible] n-th generation Xerox
copy) version of that they could send me? E-mail, please.

-- 
Jay Maynard, EMT-P, K5ZC...>splut!< | Never ascribe to malice that which can
uucp:       uunet!nuchat!           | adequately be explained by stupidity.
   hoptoad!academ!uhnix1!splut!jay  +----------------------------------------
{killer,bellcore}!tness1!           | Birthright Party '88: let's get spaced!

mbutts@mntgfx.mentor.com (Mike Butts) (08/09/88)

From article <5440@june.cs.washington.edu>, by pardo@june.cs.washington.edu (David Keppel):
> All seriousness aside, if you ever get a chance to look at the
> UMichigan list of opcodes (Circa 1970, since reprinted elsewhere) you
> really should.  Favorites include:
> 
> RETM  # RETurn to Manufacturer
> BROW  # BRanch On Wednesday
> HACF  # Halt And Catch Fire
> 
> This last one (rumor has it) was actually implemented in a particular
> IBM (if you ran the right program):
> 
>   + Temperature sensor is near the core memory.
>   + Core memory must be written every time it is read.
>   + Put a "branch to self" instruction in the right place.
>   + One location keeps being read then written, gets hot.
>   + Temperature sensor shuts down the computer.
> 
Early versions of the Floating Point Systems FPS-164 minisuper had
what amounted to a Halt and Commit Suicide instruction similar to
the above.

The main memory was built out of 16K DRAMs (circa 1980).  The machine
has a REFResh instruction, which forces a memory refresh cycle to
occur, allowing diagnostic scope loops to appear stable, without
unsynchronized refresh cycles floating around.  Since the 164 has
a 64-bit multi-field instruction word, the following instruction
is valid: "REFR; JMP .".

This will force the entire memory system to do refresh cycles every
cycle.  Since the memory normally draws power one bank at a time,
the power demand of all memories cycling all the time greatly exceeds
the capacity of the memory system +12V supply.  It current-limits,
and the power monitor shuts the computer down, filling the panel
with red lights.  Since the memory is volatile, the entire memory
and CPU state are gone, leaving no trace of how the suicidal
instruction occured.

It wasn't as bad as it sounds, since REFR only worked in supervisor
mode.  The problem was solved by fitting a watchdog which would
NOP a REFR if one had occured in the last 16 cycles.
-- 
Mike Butts, Research Engineer         KC7IT           503-626-1302
Mentor Graphics Corp., 8500 SW Creekside Place, Beaverton OR 97005
...!{sequent,tessi,apollo}!mntgfx!mbutts OR  mbutts@pdx.MENTOR.COM
These are my opinions, & not necessarily those of Mentor Graphics.

peter@ficc.UUCP (Peter da Silva) (08/10/88)

Ah yes. If anyone out there has a Compucolor-2 (a Z-80 based PC from the early
'80s) you can implement HACF from Basic:

10 FOR I = 1 TO 255: OUT 6,I: NEXT

I don't know what port 6 did, but I suspect that it had something to do
with the power supply. In any case the machine would start overheating and
you had to pull the AC cord out to prevent it smoking.
-- 
Peter da Silva, Ferranti International Controls Corporation, sugar!ficc!peter.
"You made a TIME MACHINE out of a VOLKSWAGEN BEETLE?"
"Well, I couldn't afford another deLorean."
"But how do you ever get it up to 88 miles per hour????"

hwt@leibniz.UUCP (Henry Troup) (08/11/88)

Someone mentioned the HCF (Halt and Catch Fire) opcode - the IBM 3800
printer is a continuous form laser printer.  Halt and catch fire is
a reasonably regular occurence, or was - whenever there's a problem,
paper stops in the hot fuser...  The toner was also carcinogenic
but they changed that...