Index

HLT

Halt instruction. An HLT instruction can generate a Halt Instruction debug event, which causes entry into Debug state.

Within a guarded memory region, while PSTATE.BTYPE != 0b00, a HLT instruction that would cause entry into Debug state will not generate a Branch Target Exception and will cause entry into Debug state as normal. For more information, see PSTATE.BTYPE.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 0 1 0 1 0 0 0 1 0 imm16 0 0 0 0 0

HLT #<imm>

if EDSCR.HDE == '0' || !HaltingAllowed() then UNDEFINED;
if IsFeatureImplemented(FEAT_BTI) then
    SetBTypeCompatible(TRUE);

Assembler Symbols

<imm>

Is a 16-bit unsigned immediate, in the range 0 to 65535, encoded in the "imm16" field.

Operation

FaultRecord fault = NoFault();
Halt(DebugHalt_HaltInstruction, FALSE, fault);