116
SAM4CP [DATASHEET]
43051E–ATPL–08/14
12.6.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
“Conditional Execution”
.
Rd
is the destination register.
Rn, Rm
are registers holding the first and second operands.
Operation
The SASX instruction:
1.
2.
3.
4.
Adds the signed top halfword of the first operand with the signed bottom halfword of the second operand.
Writes the signed result of the addition to the top halfword of the destination register.
Subtracts the signed bottom halfword of the second operand from the top signed highword of the first operand.
Writes the signed result of the subtraction to the bottom halfword of the destination register.
The SSAX instruction:
1.
2.
3.
4.
Subtracts the signed bottom halfword of the second operand from the top signed highword of the first operand.
Writes the signed result of the addition to the bottom halfword of the destination register.
Adds the signed top halfword of the first operand with the signed bottom halfword of the second operand.
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.
Examples
SASX R0, R4, R5 ; Adds top halfword of R4 to bottom halfword of R5 and
; writes to top halfword of R0
; Subtracts bottom halfword of R5 from top halfword of R4
; and writes to bottom halfword of R0
SSAX R7, R3, R2 ; Subtracts top halfword of R2 from bottom halfword of R3
; and writes to bottom halfword of R7
; Adds top halfword of R3 with bottom halfword of R2 and
; writes to top halfword of R7.
12.6.5.15 TST and TEQ
Test bits and Test Equivalence.
Syntax
TST{
cond
}
Rn
,
Operand2
TEQ{
cond
}
Rn
,
Operand2
where
cond
is an optional condition code, see
“Conditional Execution”
.
Rn
is the register holding the first operand.