Halt and Catch Fire
Halt and Catch Fire (ang. wstrzymaj wykonanie programu i stań w ogniu – znana pod mnemotechniczną nazwą HCF) – ogólna nazwa nieudokumentowanych i pół-mitycznych instrukcji języka maszynowego z destrukcyjnymi efektami ubocznymi[1], według popularnych miejskich legend obecnych w wielu znanych systemach począwszy od IBM System/360[2].
Motorola 6800 był pierwszym procesorem, którego instrukcja maszynowa (język maszynowy) "HCF" stała się powszechnie znana. Instrukcja ta powoduje, że w procesorze włącza się tryb testowania fabrycznego – rozpoczyna on nieustannie czytać zawartość pamięci z kolejnych komórek bez wykonywania żadnych rozkazów[3]. W takiej konfiguracji szyna adresowa zaczyna zachowywać się jak licznik co pozwala na szybkie zweryfikowanie czy wszystkie linie adresowe działają prawidłowo.
Przykłady
Assembler
halt: hlt jmp halt
C
for (;;) { asm(hlt) }
Przypisy
- ↑ Kevin Korb's Jokes: Assembler Opcodes that should exist, www.sanitarium.net [dostęp 2021-06-06] .
- ↑ IBM, IBM System/360 Principles of Operation .
- ↑ R. Gary Daniels , William C. Bruce , Built-In Self-Test Trends in Motorola Microprocessors, IEEE, kwiecień 1985, DOI: 10.1109/MDT.1985.294865, ISSN 1558-1918 .