Atmel ARM-Based Evaluation Kit for SAM4S16C, 32-Bit ARM® Cortex® Microcontroller ATSAM4S-WPIR-RD ATSAM4S-WPIR-RD Data Sheet

Product codes
ATSAM4S-WPIR-RD
Page of 1231
SAM4S Series [DATASHEET]
Atmel-11100G-ATARM-SAM4S-Datasheet_27-May-14
146
opis one of:
SMLA Signed Multiply Accumulate Long (halfwords).
X
 and Y specifies which half of the source registers Rn and Rm are used as the
first and second multiply operand.
If X is B, then the bottom halfword, bits [15:0], of Rn is used. 
If X is T, then the top halfword, bits [31:16], of Rn is used.
If Y
 is B, then the bottom halfword, bits [15:0], of Rm is used. 
If Y is T, then the top halfword, bits [31:16], of Rm is used
SMLAW Signed Multiply Accumulate (word by halfword).
Y
 specifies which half of the source register Rm is used as the second multiply
operand.
If Y is T, then the top halfword, bits [31:16] of Rm is used.
If Y is B, then the bottom halfword, bits [15:0] of Rm is used.
condis an optional condition code, see 
.
Rdis the destination register. If Rd is omitted, the destination register is Rn.
Rn, Rmare registers holding the values to be multiplied.
Rais a register holding the value to be added or subtracted from.
Operation
The SMALBB, SMLABT, SMLATB, SMLATT instructions:
Multiplies the specified signed halfword, top or bottom, values from Rn and Rm.
Adds the value in Ra to the resulting 32-bit product.
Writes the result of the multiplication and addition in Rd.
The non-specified halfwords of the source registers are ignored.
The SMLAWB and SMLAWT instructions:
Multiply the 32-bit signed values in Rn with:
̶
The top signed halfword of RmT instruction suffix.
̶
The bottom signed halfword of RmB instruction suffix.
Add the 32-bit signed value in Ra to the top 32 bits of the 48-bit product 
Writes the result of the multiplication and addition in Rd.
The bottom 16 bits of the 48-bit product are ignored.
If overflow occurs during the addition of the accumulate value, the instruction sets the Q flag in the APSR. No 
overflow can occur during the multiplication.
Restrictions
In these instructions, do not use SP and do not use PC.
Condition Flags
If an overflow is detected, the 
Q
 flag is set.
Examples
SMLABB  R5, R6, R4, R1
; Multiplies bottom halfwords of R6 and R4, adds
 ; R1 and writes to R5
SMLATB  R5, R6, R4, R1
; Multiplies top halfword of R6 with bottom halfword
; of R4, adds R1 and writes to R5
SMLATT  R5, R6, R4, R1
; Multiplies top halfwords of R6 and R4, adds
; R1 and writes the sum to R5