Posted on 04-09-2008 under electronics, firmware

I subscribe to a newsletter called the “Embedded Muse”, run by Jack Ganssle. It carries quite useful information about engineering practices, and writing good code. Ganssle is particularly focused on making better coders out of all of us engineers. The Embedded Muse is highly recommended for anyone who has to write firmware, or work on embedded systems in general.

The current post however, is about this week’s joke column. <warning> The following text is liable to go over your head if you do not know what “assembly” means. So if you aren’t an electronics engineer, don’t come back to me saying you didn’t get it </warning>. Some of these are so gold, I just had to share them.

Tom Paden wrote:

The early 6800 had an undocumented test op-code called HCF; Halt and Catch Fire. It would fetch from consecutive memory locations to test out the address bus. I forget
how I found out about it, but it’s documented on Wikipedia: http://en.wikipedia.org/wiki/Halt_and_Catch_Fire

Chris Nelson wrote (especially good):

An early mainframe OS at RPI had a joke language
called Screwbol (if I recall correctly) which actually implemented HEO
(Halt and Eat Operator). When executed, this instruction caused the
big line printer to open the access door then slam the write head back
and forth to cause the printer to walk across the floor toward the
operator console.

Man, I would have loved to see that.

Stephen Irons wrote:

The ones I always tried to
avoid were from Motorola’s 6803 microcontrollers:

BHT: Branch if High Tide

BLT: Branch if Low Tide

These were real instructions for at least the 6803, and I think for
the whole 6800-series. The real meaning if I remember correctly were
Branch if Higher Than and Branch if Lower Than, using an unsigned
comparison, as opposed to BGT and BLT (greater than and less than)
which did a signed comparison.

And last, but not least, Gary Gaebel writes:

The 9046 x N, random access, write-only memory chip. I actually have
a spec sheet for this one.

the Quad Two Input Maybe Gate. Apply any combination of
0’s and 1’s to the two input pins, and maybe you’ll get a 0 on the
output, or maybe you’ll get a 1. Think random number generator…

That last one was hilarious.