4.13.4. UND pseudo-instruction

Generate an architecturally undefined instruction. An attempt to execute an undefined instruction causes the Undefined instruction exception. Architecturally undefined instructions are expected to remain undefined.

Syntax

UND{cond}{.W} {#expr}

where:

cond

is an optional condition code (see Conditional execution). cond is not allowed on this pseudo-instruction in pre-Thumb-2 Thumb code.

.W

is an optional instruction width specifier.

expr

evaluates to a numeric constant. Table 4.8 shows the range and encoding of expr in the instruction, where Y shows the locations of the bits that encode for expr and V is the 4 bits that encode for the condition code.

If expr is omitted, the value 0 is used.

Table 4.8. Range and encoding of expr

Instruction

Encoding

Number of bits for expr

Range

ARM

0xV7FYYYFY

16

0-65535

32-bit Thumb

0xF7FYAYFY

12

0-4095

16-bit Thumb

0xDEYY

8

0-255


UND in Thumb code

You can use the .W width specifier to force UND to generate a 32-bit instruction in Thumb code on ARMv6T2 and later processors. UND.W always generates a 32-bit instruction, even if expr is in the range 0-255.

Disassembly

The encodings that this pseudo-instruction produces disassemble to DCI.

Copyright © 2002-2010 ARM. All rights reserved.ARM DUI 0204J
Non-ConfidentialID101213