Motorola DSP56800 Manual page 5

16-bit digital signal processor
Table of Contents

Advertisement

Chapter 4
4.1
Architecture and Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.1.1
Address Registers (R0-R3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.1.2
Stack Pointer Register (SP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.1.3
Offset Register (N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.1.4
Modifier Register (M01). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.1.5
Modulo Arithmetic Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.1.6
Incrementer/Decrementer Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.2
Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
4.2.1
Register-Direct Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.2.1.1
Data or Control Register Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.2.1.2
Address Register Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.2.2
Address-Register-Indirect Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.2.2.1
No Update: (Rn), (SP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
4.2.2.2
Post-Increment by 1: (Rn)+, (SP)+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
4.2.2.3
Post-Decrement by 1: (Rn)-, (SP)- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
4.2.2.4
Post-Update by Offset N: (Rn)+N, (SP)+N . . . . . . . . . . . . . . . . . . . . . . . 4-13
4.2.2.5
Index by Offset N: (Rn+N), (SP+N). . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-14
4.2.2.6
Index by Short Displacement: (SP-xx), (R2+xx) . . . . . . . . . . . . . . . . . . . 4-15
4.2.2.7
Index by Long Displacement: (Rn+xxxx), (SP+xxxx). . . . . . . . . . . . . . . 4-16
4.2.3
Immediate Data Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
4.2.3.1
Immediate Data: #xxxx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
4.2.3.2
Immediate Short Data: #xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
4.2.4
Absolute Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
4.2.4.1
Absolute Address (Extended Addressing): xxxx . . . . . . . . . . . . . . . . . . . 4-21
4.2.4.2
4.2.4.3
4.2.5
Implicit Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
4.2.6
Addressing Modes Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23
4.3
AGU Address Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
4.3.1
Linear Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
4.3.2
Modulo Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
4.3.2.1
Modulo Arithmetic Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
4.3.2.2
Configuring Modulo Arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27
4.3.2.3
Supported Memory Access Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
4.3.2.4
Simple Circular Buffer Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29
4.3.2.5
Setting Up a Modulo Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
4.3.2.6
Wrapping to a Different Bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31
4.3.2.7
Side Effects of Modulo Arithmetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32
4.3.2.7.1
When a Pointer Lies Outside a Modulo Buffer . . . . . . . . . . . . . . . . . 4-32
4.3.2.7.2
Restrictions on the Offset Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32
4.3.2.7.3
4.4
Pipeline Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33
Chapter 5
v

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents