Halt and Catch Fire
Halt and Catch Fire definition
Halt and Catch Fire is a computer machine code instruction that was originally meant to make a computer’s central processing unit (CPU) stop working, but in some cases could cause it to overheat and physically damage the hardware. It was implemented as a debugging tool for CPU designers and engineers to test and verify the functionality of the CPU. When a CPU receives an HCF command, it is supposed to halt all processing and enter an infinite loop. However, due to the way the instruction was implemented in some CPUs, it could potentially destroy the hardware.
See also: integrated circuit
Real-life examples of the Halt and Catch Fire instruction
The risks associated with the HCF were not well understood when it was first created, and its dangers only became apparent over time as it was used and tested more extensively. As a result, the HCF instruction was removed from modern CPUs, and other, safer debugging tools were developed in its place.
- In 1997, a virus known as the CIH or Chernobyl virus used the HCF instruction as part of its payload. When the virus infected a computer, it could cause the CPU to overheat and stop working, as well as corrupt the computer’s BIOS firmware, rendering it unbootable. The virus caused widespread damage and was estimated to have affected hundreds of thousands of computers.
- Mark Probst was expelled from the University of Illinois in 1985 for creating a program that used the Halt and Catch Fire instruction to cause a specific model of IBM PC to overheat and shut down. At the time, the HCF instruction was still present in some CPUs and was known to be a potentially dangerous debugging tool. Probst’s program, which was intended as a prank, exploited this feature and caused a number of computers to fail. The university viewed Probst’s actions as a serious breach of its computer usage policies and a violation of ethical standards, and decided to expel him from the institution.