![background image](http://html.mh-extra.com/html/motorola/freescale-semiconductor-dsp56000/freescale-semiconductor-dsp56000_user-manual_246570030.webp)
A - 30
DSP56000/DSP56001 USER’S MANUAL
MOTOROLA
Assembler Syntax:
ASR D (parallel move)
Description: Arithmetically shift the destination operand D one bit to the right and store
the result in the destination accumulator. The LS bit of D prior to instruction execution is
shifted into the carry bit C, and the MS bit of D is held constant.
Example:
:
ASR B
X:–(R3),R3
;divide B by 2, update R3, load R3
:
Explanation of Example: Prior to execution, the 56-bit B accumulator contains the
value $A8:A86420:A86421. The execution of the ASR B instruction shifts the 56-bit
value in the B accumulator one bit to the right and stores the result back in the B accu-
mulator.
Condition Codes:
L — Set if limiting (parallel move) or overflow has occurred in result
E — Set if the signed integer portion of A or B result is in use
U — Set if A or B result is unnormalized
N — Set if bit 55 of A or B result is set
Z— Set if A or B result equals zero
V — Always cleared
C — Set if bit 0 of A or B was set prior to instruction execution
Note: The definition of the E and U bits varies according to the scaling mode being used.
ASR
Arithmetic Shift Accumulator Right
ASR
55
47
23
0
C (parallel move)
Operation:
Before Execution
After Execution
B
B
$A8:A86420:A86421
SR
SR
$0300
$0329
$D4:543210:543210
MR
CCR
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
LF
**
T
**
S1
S0
I1
I0
**
L
E
U
N
Z
V
C
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..