The Cortex-M4 Instruction Set
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
3-60
ID121610
Non-Confidential
3.5.14
SASX and SSAX
Signed Add and Subtract with Exchange and Signed Subtract and Add with Exchange.
Syntax
op{
cond
} {
Rd
},
Rm
,
Rn
where:
op
Is any of:
SASX
Signed Add and Subtract with Exchange.
SSAX
Signed 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
SASX
instruction:
1.
Adds the signed top halfword of the first operand with the signed bottom halfword of the
second operand.
2.
Writes the signed result of the addition to the top halfword of the destination register.
3.
Subtracts the signed bottom halfword of the second operand from the top signed highword
of the first operand.
4.
Writes the signed result of the subtraction to the bottom halfword of the destination
register.
The
SSAX
instruction:
1.
Subtracts the signed bottom halfword of the second operand from the top signed highword
of the first operand.
2.
Writes the signed result of the addition to the bottom halfword of the destination register.
3.
Adds the signed top halfword of the first operand with the signed bottom halfword of the
second operand.
4.
Writes the signed result of 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.