dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 8

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
6.8.4.1
6.8.4.2
6.8.4.3
6.8.4.3.1
6.8.4.3.2
6.8.4.4
6.8.5
6.8.5.1
6.8.5.2
6.8.5.3
6.8.6
6.8.7
6.8.8
6.8.9
6.8.9.1
6.8.9.2
6.8.9.3
Chapter 7
Bit-Manipulation Unit
7.1
7.1.1
7.1.2
7.1.3
7.1.4
7.2
7.2.1
7.2.2
7.2.3
7.3
7.4
7.5
7.5.1
7.5.2
7.5.2.1
7.5.2.2
7.5.3
7.5.4
7.5.4.1
7.5.4.2
7.5.4.3
Chapter 8
Program Controller
8.1
8.1.1
viii
Bit-Manipulation Unit Overview and Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Bit-Manipulation Unit Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
ANDC, EORC, ORC, and NOTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Other Bit-Manipulation Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
Programming Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
Program Controller Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Supported Memory Access Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29
Simple Circular Buffer Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Setting Up a Modulo Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Wrapping to a Different Bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33
Side Effects of Modulo Arithmetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34
8-Bit Mask Shift Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
16-Bit Masking Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
16-Bit Testing Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
16-Bit Logic Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Testing Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Conditional Branching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Modifying Selected Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Bit-Manipulation Operations on Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
Bit-Manipulation Operations on Byte Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
Using Complex Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Synthetic Conditional Branch and Jump Operations . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Instruction Latch and Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Example of Incorrect Modulo Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27
Special Case - ADDA Instructions in Modulo Arithmetic . . . . . . . . . . . . . . . . 6-28
Restrictions on the Offset Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28
Modulo Addressing for Word Memory Accesses . . . . . . . . . . . . . . . . . . . . . . 6-29
Modulo Addressing for Byte and Long Memory Accesses . . . . . . . . . . . . . . . 6-29
Modulo Addressing for AGU Arithmetic Instructions . . . . . . . . . . . . . . . . . . . 6-30
When a Pointer Lies Outside a Modulo Buffer . . . . . . . . . . . . . . . . . . . . . . . . 6-34
Restrictions on the Offset Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34
Memory Locations Not Accessible Using Modulo Arithmetic . . . . . . . . . . . . 6-34
Absolute Addresses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Word Pointers with Byte Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
JRSET and JRCLR Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
BR1SET and BR1CLR Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
JR1SET and JR1CLR Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
Operand Placement Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26
Case 2. Adding a Negative Immediate Offset to a Pointer . . . . . . . . . . . . . 6-28
Case 1. Adding a Positive Immediate Offset to a Pointer . . . . . . . . . . . . . 6-28
DSP56800E Core Reference Manual
Freescale Semiconductor

Related parts for dsp56800e