HLT stops the execution of all instructions and places the CPU in a HALT state. An enabled interrupt, a non-maskable interrupt, or a reset will resume execution.
If an interrupt (including NMI) is used to resume after HLT, the saved CS:eIP value points to the instruction following HLT.
A HLT would normally be the last instruction in a sequence that shuts down the system, i.e. for a checkpoint after a power failure is detected.
In protected mode, HLT is a privileged instruction.