hlt
Halting Debug (Thumb)
HLT #<imm>
Enters halting debug state (Thumb encoding).
Details
Enters halting debug state (T32 encoding). The processor suspends and passes control to the debug system with a halting debug exception. The imm value is an optional 6-bit debugger-supplied breakpoint ID. This is a T32-only instruction; it generates a halting debug exception and does not resume normal execution until the debugger releases it.
Pseudocode Operation
GenerateException(HaltingDebugException); breakpoint_id ← imm
Example
HLT #16
Encoding
Binary Layout
1011101010
imm6
Operands
-
imm
ID
Reference (Arm AArch32 ISA)
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0x01000070 | HLT{<q>} {#}<imm> | A32 | cond | 00010 | 00 | 0 | imm12 | 0111 | imm4 | ||
| 0xBA80 | HLT{<q>} {#}<imm> | T32 | 1011101010 | imm6 |
Description
Halting breakpoint causes a software breakpoint to occur.
Halting breakpoint is always unconditional, even inside an IT block.
Operation
EncodingSpecificOperations(); boolean is_async = FALSE; Halt(DebugHalt_HaltInstruction, is_async);