ARM Instruction Reference
ARM DUI 0068B
Copyright © 2000, 2001 ARM Limited. All rights reserved.
4-49
4.4.6
SMLAWy
Signed multiply-accumulate (32-bit by 16-bit, top 32-bit accumulate).
Syntax
SMLAW<
y
>{
cond
}
Rd
,
Rm
,
Rs
,
Rn
where:
<
y
>
is either
B
or
T
.
B
means use the bottom end (bits [15:0]) of
Rs
,
T
means
use the top end (bits [31:16]) of
Rs
.
cond
is an optional condition code (see
Conditional execution
on page 4-4).
Rd
is the ARM register for the result.
Rm, Rs
are the ARM registers holding the values to be multiplied.
Rn
is the ARM register holding the value to be added.
r15 cannot be used for any of
Rd
,
Rm
,
Rs
, or
Rn
.
Any combination of
Rd
,
Rm
,
Rs
, and
Rn
can use the same registers.
Usage
The
SMLAWy
instruction multiplies the signed integer from the selected half of
Rs
by the
signed integer from
Rm
, adds the 32-bit result to the 32-bit value in
Rn
, and places the
result in
Rd
.
Condition flags
This instruction does not affect the N, Z, C or V flags.
If overflow occurs in the accumulation, it sets the Q flag. To read the state of the Q flag,
use an
MRS
instruction (see
MRS
on page 4-73).
Note
This instruction never clears the Q flag. To clear the Q flag, use an
MSR
instruction (see
MSR
on page 4-74).
Содержание Developer Suite
Страница 10: ...Preface x Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 110: ...Assembler Reference 3 32 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 185: ...ARM Instruction Reference ARM DUI 0068B Copyright 2000 2001 ARM Limited All rights reserved 4 75 Example MSR CPSR_f r5 ...
Страница 238: ...Thumb Instruction Reference 5 44 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 282: ...Vector Floating point Programming 6 44 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...
Страница 360: ...Index Index 6 Copyright 2000 2001 ARM Limited All rights reserved ARM DUI 0068B ...