dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 157

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
Although the FF1 portion of every accumulator is accessible by all instructions, the FF2 and FF0 portions
are only accessible for the A and B registers. The C2, C0, D2, and D0 accumulator portions are only
accessible through a limited set of instructions:
There are no other ways to read or write these accumulator portions directly. To read or write the values of
C2 and D2, use the code in Example 5-4 and Example 5-5 (or similar code).
Freescale Semiconductor
MOVE.W #xxxx,<register>
BFCHG, BFCLR, BFSET, ANDC, ORC, EORC, NOTC
BFTSTH, BFTSTL
BRSET, BRCLR
Push register to stack (C2 and D2 only)
Pop register from stack (C2 and D2 only)
Used as a Source
Register FF2
; First technique, with sign extension
ASR16
MOVE.W
; Second technique, no sign extension
LSR16
MOVE.W
; First technique
MOVE.W
ASL16
; Second technique
MOVE.W
ASL16
; Third technique (may saturate if SA = 1)
MOVE.W
TFR
Figure 5-8. Reading the Accumulator Extension Registers (FF2)
Example 5-4. Reading the Contents of the C2 Register
C,X0
X0,R0
C,A
A1,R0
R2,C1
C
R2,A1
A,C
R3,A2
A,C
Example 5-5. Writing a Value into the C2 Register
Data Arithmetic Logic Unit
15
15
; Shift C2 into X0 with sign extension
; Write C2 signed contents to final destination
; Shift C2 into A1 with no sign extension
; Write C2 unsigned contents to final destination
; Write value first to C1
; Shift the C1 register into C2
; Write value first to A1
; Shift the A1 register into C2
; Write value first to A2
; Transfer value from A to C accumulator
Sign Extension
No Bits Present
of FF2
4 3
4 3
Contents
LSB of
of FF2
Word
FF2
Accessing the Accumulator Registers
0
0
Register FF2
CDBW Bus Contents
5-11

Related parts for dsp56800e