BKPT

Breakpoint causes a Breakpoint Instruction exception.

Breakpoint is always unconditional, even when inside an IT block.

It has encodings from the following instruction sets: A32 ( A1 ) and T32 ( T1 ) .

A1

313029282726252423222120191817161514131211109876543210
!= 111100010010imm120111imm4
cond

A1

BKPT{<q>} {#}<imm>

imm16 = imm12:imm4; if cond != '1110' then UNPREDICTABLE; // BKPT must be encoded with AL condition

CONSTRAINED UNPREDICTABLE behavior

If cond != '1110', then one of the following behaviors must occur:

T1

1514131211109876543210
10111110imm8

T1

BKPT{<q>} {#}<imm>

imm16 = ZeroExtend(imm8, 16);

For more information about the constrained unpredictable behavior of this instruction, see Architectural Constraints on UNPREDICTABLE behaviors.

Assembler Symbols

<q>

See Standard assembler syntax fields. An BKPT instruction must be unconditional.

<imm>

For encoding A1: is a 16-bit unsigned immediate, in the range 0 to 65535, encoded in the "imm12:imm4" field. This value:

For encoding T1: is a 8-bit unsigned immediate, in the range 0 to 255, encoded in the "imm8" field. This value:

Operation

EncodingSpecificOperations(); AArch32.SoftwareBreakpoint(imm16);


Internal version only: isa v00_79, pseudocode v34.2 ; Build timestamp: 2017-12-19T15:42

Copyright © 2010-2017 ARM Limited or its affiliates. All rights reserved. This document is Non-Confidential.