EasyManua.ls Logo

Microsemi SmartFusion2 - Figure 18 ASR#3

Microsemi SmartFusion2
829 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0 52
You can use the
ASR #n
operation to divide the value in the register
Rm
by 2
n
, with the result being
rounded towards negative-infinity.
When the instruction is
ASRS
or when
ASR #n
is used in
Operand2
with the instructions
MOVS
,
MVNS
,
ANDS
,
ORRS
,
ORNS
,
EORS
,
BICS
,
TEQ
or
TST
, the carry flag is updated to the last bit shifted out, bit[
n
-1], of the
register
Rm
.
•If
n
is 32 or more, then all the bits in the result are set to the value of bit[31] of
Rm
.
•If
n
is 32 or more and the carry flag is updated, it is updated to the value of bit[31] of
Rm
.
Figure 18 • ASR#3
3.6.3.4.2 LSR
Logical shift right by
n
bits moves the left-hand
32
-
n
bits of the register
Rm
, to the right by
n
places, into the
right-hand
32
-
n
bits of the result. And it sets the left-hand
n
bits of the result to 0. See the following figure.
You can use the
LSR #n
operation to divide the value in the register
Rm
by 2
n
, if the value is regarded as
an unsigned integer.
When the instruction is
LSRS
or when
LSR #n
is used in
Operand2
with the instructions
MOVS
,
MVNS
,
ANDS
,
ORRS
,
ORNS
,
EORS
,
BICS
,
TEQ
or
TST
, the carry flag is updated to the last bit shifted out, bit[
n
-1], of the
register
Rm
.
•If
n
is 32 or more, then all the bits in the result are cleared to 0.
•If
n
is 33 or more and the carry flag is updated, it is updated to 0.
Figure 19 • LSR
Carry
Flag
031 5 4 3 2 1
Carry
Flag
031 5 4 3 2 1
00
0

Table of Contents

Other manuals for Microsemi SmartFusion2

Related product manuals