Halt and Catch Fire (HCF)
Halt and Catch Fire, znane również jako HCF, to termin odnoszący się do nieudokumentowanych instrukcji w języku maszynowym, które mogą powodować destrukcyjne efekty uboczne. Pojęcie to jest popularne wśród wielu miejskich legend związanych z systemami komputerowymi, sięgającymi od IBM System/360.
Historia
Pierwszym procesorem, w którym instrukcja HCF zyskała rozgłos, był Motorola 6800. Włączenie tej instrukcji prowadzi do aktywacji trybu testowania fabrycznego w procesorze. W tym trybie procesor zaczyna nieprzerwanie odczytywać zawartość pamięci z kolejnych komórek, bez wykonywania żadnych rozkazów. W efekcie szyna adresowa działa jak licznik, co umożliwia szybką weryfikację poprawności funkcjonowania wszystkich linii adresowych.
Przykłady implementacji
- Assembler:
halt: hlt jmp halt
- C:
for (;;) { asm(hlt) }
Kategoria
Termin HCF jest często związany z językiem assemblera.