Оказвается, у этой инструкции длинная история, восходящая к программистскому фольклору 1960-х годов: http://groups.google.ca/groups?selm=8s2 ... put=gplain
Поскольку, как выяснилось, никто из форумчан по ссылкам не ходит, воспроизведу текст здесь:
- Код: Выделить всё
From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
Newsgroups: alt.comp.virus,comp.security.misc,comp.sys.ibm.pc.hardware.misc,comp.terminals,alt.folklore.computers
Subject: Re: Origin of Halt and Catch Fire
Date: 11 Oct 2000 17:45:06 GMT
Organization: Columbia University
In article <rshu_20001011_111111@cs.utk.edu>,
Richard S. Shuford <shuford@cs.REMOVE-THIS-PART.utk.edu> wrote:
: ...
: What Mike is referring to is the HCF instruction, which appeared in
: charts of machine operation codes of the Motorola MC6800 8-bit
: microprocessor, circa 1975. ... the Motorola engineers jokingly named
: these opcode values the "HCF" instructions. In so doing, they may have
: had in mind some folklore that arose much earlier in the history of
: computer design.
:
Probably -- I recall seeing HCF regularly listed on joke programming
reference cards for IBM 360s as early as 1972 (we had an IBM 360/91 then,
perhaps the world's largest computer at time -- its panel of little
blinking lightbulbs was awesome, prompting yet another urban legend:
the Hunt for the Bulb Eject Button). Although the computer never caught
fire, it had several peripherals that regularly did so. There was a
graphics output device made by Stromberg-Carlson, about the size of a
panel truck: you sent a Tektronix 4010 image in, and after half an hour
and much whirring, clicking, and sloshing of chemicals, out comes a nice
little 35mm color slide. Or flames and clouds of smoke.
Printer fires were actually programmable. One of my first student
programming assignments was the then-familiar line-printer X/Y function
plotting program. The stupid version of the program calculated all the
points, sorted them (so the graph could be printed rightside up rather
than on its side), and then printed each data point as an asterisk, using
the printer's overprinting capability to suppress the normal linefeed. A
more clever version would have built each line of the plot and then
printed a line at a time, because for certain functions, Version 1.0 would
print the same point thousands of times, first digging a hole through the
paper, then setting it on fire.
It's not as easy to do that with a laser printer...
- Frank