3.5.8. SXT and UXT

Sign extend and Zero extend.

Syntax

SXTB Rd, Rm
SXTH Rd, Rm
UXTB Rd, Rm
UXTH Rd, Rm

where:

Rd

is the destination register.

Rm

is the register holding the value to be extended.

Operation

These instructions extract bits from the resulting value:

  • SXTB extracts bits[7:0] and sign extends to 32 bits

  • UXTB extracts bits[7:0] and zero extends to 32 bits

  • SXTH extracts bits[15:0] and sign extends to 32 bits

  • UXTH extracts bits[15:0] and zero extends to 32 bits.

Restrictions

In these instructions, Rd and Rm must only specify R0-R7.

Condition flags

These instructions do not affect the flags.

Examples

    SXTH  R4, R6           ; Obtain the lower halfword of the
                           ; value in R6 and then sign extend to
                           ; 32 bits and write the result to R4.
    UXTB  R3, R1           ; Extract lowest byte of the value in R10 and zero
                           ; extend it, and write the result to R3
Copyright © 2009 ARM Limited. All rights reserved.ARM DUI 0497A
Non-Confidential