DSP

DSP++ 寄存器用法

2019-07-13 10:09发布

Accumulator

累加器
A0 A1-40bit
A1.W or A0.W-32bit
A1.H, A1.L, A0.H, or A0.L-两个16bit
A1.X or A0.X-8bit ( for the bits that extend beyond bit 31)

Data Registers

数据寄存器
R0-R7 low和high 各16bit

Pointer Registers

指针寄存器
P0, P1, P2, P3, P4, P5, including SP and FP
32bit,存放地址,用法见[p0 ++] = r0

Stack Pointer

栈指针
SP
contains the 32-bit address of the last occupied byte location in the stack. The stack grows by decrementing(减) the Stack Pointer

Frame Pointer

帧指针
FP
contains the 32-bit address of the previous Frame Pointer in the stack, located at the top of a frame. SP和FP区别还没搞清楚

Loop Count

循环计数
LC0 and LC1;
contains 32-bit counter of the zero overhead loop executions.
见循环控制代码如下: LSETUP (begin_loop, end_loop) LC0 = P1; begin_loop: R1 *= R2; R2 = [I0++]; end_loop: R0= R0 + R1 (NS) || R1 = [P0++] || NOP;

Index Register

变址寄存器
I0, I1, I2, I3
32bit,contain byte addresses of data structures. Abbreviated I-register or Ireg.

Base Registers

基址寄存器
B0, B1, B2, B3
32bit,contain the base address (in bytes) of the circular buffer. Abbreviated as Breg.

Length Registers

L0, L1, L2, L3
32bit, contain the length (in bytes) of the circular buffer. Abbreviated as Lreg. Clear Lreg to disable circular addressing for the corresponding Ireg. Example: Clear L3 to disable circular addressing for I3.