dsp56800 Freescale Semiconductor, Inc, dsp56800 Datasheet - Page 389

no-image

dsp56800

Manufacturer Part Number
dsp56800
Description
16-bit Digital Signal Controllers
Manufacturer
Freescale Semiconductor, Inc
Datasheet
TFR
Operation:
S → D
S → D
Description: Transfer data from the specified source data ALU register (S) to the specified data ALU destination
Usage:
Example:
Explanation of Example:
Condition Codes Affected:
Freescale Semiconductor
Before Execution
A2
B2
A
(single parallel move)
3
(D). The TFR instruction can be used to move the full 36-bit contents from one accumulator to another.
This transfer occurs with saturation when the saturation bit, SA, is set. If the source is a 16-bit register,
it is first sign extended and concatenated to 16 zero bits to form a 36-bit value before the transfer. The
TFR instruction only affects the L and SZ bits in the CCR (which can be set by data movement that is
associated with the instruction’s parallel operations).
This instruction is very similar to a MOVE instruction but has two uses. First, it can be used to perform
a 36-bit transfer of one accumulator to another. Second, when used with a parallel move, this instruc-
tion allows a register move and a memory move to occur simultaneously in 1 instruction that executes
in 1 instruction cycle.
TFR
Prior to execution, the 36-bit A accumulator contains the value $3:0123:0123 and the 36-bit B accu-
mulator contains the value $A:CCCC:EEEE. Execution of the TFR B,A instruction moves the 36-bit
value in B into the 36-bit A accumulator.
15
LF
CCCC
0123
14
A1
B1
*
SZ — Set according to the standard definition of the SZ bit (parallel move)
L
13
*
— Set if data limiting has occurred during parallel move
B,A
12
*
Transfer Data ALU Register
MR
11
*
EEEE
0123
A0
B0
10
X:(R0)+,Y1
*
Instruction Set Details
I1
9
Assembler Syntax:
TFR
TFR
I0
8
SZ
7
After Execution
L
6
A2
B2
A
A
5
E
S,D
S,D
; move B to A and update Y1, R0
4
U
CCCC
CCCC
CCR
A1
B1
3
N
2
Z
(single parallel move)
1
V
EEEE
EEEE
0
C
A0
B0
TFR
A-159

Related parts for dsp56800