The Cortex-M4 Instruction Set
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
3-64
ID121610
Non-Confidential
3.5.17
UASX and USAX
Add and Subtract with Exchange and Subtract and Add with Exchange.
Syntax
op{
cond
} {
Rd
},
Rn
,
Rm
where:
op
Is one of:
UASX
Add and Subtract with Exchange.
USAX
Subtract and Add with Exchange.
cond
Is an optional condition code, see
.
Rd
Specifies the destination register.
Rn
,
Rm
Are registers holding the first and second operands.
Operation
The
UASX
instruction:
1.
Subtracts the top halfword of the second operand from the bottom halfword of the first
operand.
2.
Writes the unsigned result from the subtraction to the bottom halfword of the destination
register.
3.
Adds the top halfword of the first operand with the bottom halfword of the second
operand.
4.
Writes the unsigned result of the addition to the top halfword of the destination register.
The
USAX
instruction:
1.
Adds the bottom halfword of the first operand with the top halfword of the second
operand.
2.
Writes the unsigned result of the addition to the bottom halfword of the destination
register.
3.
Subtracts the bottom halfword of the second operand from the top halfword of the first
operand.
4.
Writes the unsigned result from the subtraction to the top halfword of the destination
register.
Restrictions
Do not use SP and do not use PC
.
Condition flags
These instructions do not affect the condition code flags.