![halt and catch firestream halt and catch firestream](https://i.pinimg.com/originals/0d/5f/ae/0d5fae7ece8d910010326763ce76b25d.jpg)
In Rick Cook's science fiction/fantasy novel, The Wizardry Compiled, about programmers transported to a universe where magic could be programmed, one of them refers to the command as HMCF, for "Halt, Melt and Catch Fire". In a 1990 USENET discussion, it was claimed that HCF dated back to before 1977. The IBM System/360 already included numerous non-obvious mnemonics like ZAP (Zero and Add Packed), EDMK (EDit and MarK), TRT (TRanslate and Test), and Read Backward (an I/O channel command), and programmers began creating similarly cryptic, but fictitious, instructions in a humorous vein. A list of such mnemonics, including HCF, shows up as "Overextended Mnemonics" in the April 1980 Creative Computing flip-side parody issue. The HCF instruction was originally a fictitious assembly language instruction, said to be under development at IBM for use in their System/360 computers, along with many other amusing three-letter acronyms like XPR (Execute Programmer) and CAI (Corrupt Accounting Information), and similar to other joke mnemonics such as "SDI" for "Self Destruct Immediately" and "CRN" for Convert to Roman Numerals. The mnemonics are frequently three letters long, such as ADD, CMP (to compare two numbers), and JMP (jump to a different location in the program).
#Halt and catch firestream code
In a computer's assembly language, mnemonics are used that are directly equivalent to machine code instructions. A processor, upon encountering the instruction, would start switching bus lines very fast, potentially leading to overheating. Īpocryphal stories connect this term with an illegal opcode in IBM System/360. The expression "catch fire" is a facetious exaggeration of the speed with which the CPU chip would be switching some bus circuits, causing them to overheat and burn. In the case of real instructions, the implication of this expression is that, whereas in most cases in which a CPU executes an unintended instruction (a bug in the code) the computer may still be able to recover, in the case of an HCF instruction there is, by definition, no way for the system to recover without a restart. Some are considered hardware defects, and if the system is shared, a malicious user can execute it to launch a denial-of-service attack. Later, HCF became a humorous catch-all term for instructions that may freeze a processor, including intentional instructions for testing purposes, and unintentional illegal instructions. As a result, HCF was officially recognized as a real instruction. During the design process of MC6802, engineers originally planned to remove this instruction, but kept it as-is for testing purposes. Those codes have been unofficially named HCF. Due to incomplete opcode decoding, two illegal opcodes, 0x9D and 0xDD, will cause the program counter on the processor to increment endlessly, which locks the processor until reset. With the advent of the MC6800 (introduced in 1974), a design flaw was discovered by the programmers. It originally referred to a fictitious instruction in IBM System/360 computers (introduced in 1964), making a joke about its numerous non-obvious instruction mnemonics. In computer engineering, Halt and Catch Fire, known by the assembly mnemonic HCF, is an idiom referring to a computer machine code instruction that causes the computer's central processing unit (CPU) to cease meaningful operation, typically requiring a restart of the computer.