You copied the Doc URL to your clipboard.


Halting breakpoint.


This instruction is supported only in the Arm®v8 architecture.


HLT{Q} #imm


is an optional suffix. It only has an effect when Halting debug-mode is disabled. In this case, if Q is specified, the instruction behaves as a NOP. If Q is not specified, the instruction is UNDEFINED.
is an expression evaluating to an integer in the range:
  • 0-65535 (a 16-bit value) in an A32 instruction.
  • 0-63 (a 6-bit value) in a 16-bit T32 instruction.


The HLT instruction causes the processor to enter Debug state if Halting debug-mode is enabled.

In both A32 state and T32 state, imm is ignored by the Arm hardware. However, a debugger can use it to store additional information about the breakpoint.

HLT is an unconditional instruction. It must not have a condition code in A32 code. In T32 code, the HLT instruction does not require a condition code suffix because it always executes irrespective of its condition code suffix.


This instruction is available in A32 and T32.

In T32, it is only available as a 16-bit instruction.