Texas Instruments MSP50C6xx Calculator User Manual


 
Individual Instruction Descriptions
4-95Assembly Language Instructions
4.14.13 COR Correlation Filter Function
Syntax
[label] name dest, src Clock, clk Word, w With RPT, clk Class
COR An, *Rx 3 1 3(n
R
+2) 9a
Execution With RPT N2:
(mask interrupts)
RPT counter = N2
MR = h[0] = first filter coefficient
x = sample data pointed by Rx
even
h[1] = second filter coefficient pointed by Rx
even
+1
y = result stored in three consecutive accumulators (48 bit) pointed by An
{between every accumulation}
IF TAG = 1
Rx
even
= Rx
even
+ R5 {for circular buffering}
ELSE
Rx
even
++ { if Rx++ is specified in the instruction}
ENDIF
PC PC + 1
{final result}
y
k 0..N1
h[k] · x[N1k]
(Execution is detailed in section 4.11)
Flags Affected none
Opcode
Instructions 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
COR An, *Rx 1 1 1 0 1 0 0 An 1 1 0 Rx 1 1
Description When used with repeat will execute 16 × 16 multiplication between two
indirectly addressed data memory buffers, 48-bit accumulation, and a circular
buffer operation. Each tap takes 3 instruction cycles. The selected register Rx
must be even. This instruction also uses R(x+1). This instruction must be used
with RPT instruction. See section 4.11 for more detail on the setup of
coefficents and sample data. During COR execution, interrupts are queued.
See Also RPT, CORK, FIR, FIRK
Example 4.14.13.1 RPT 0
COR A0, *R0
Computes the calculation for 2 tap correlation filter with 48 bit accumulation. See section 4.11 for more
detail on the setup of coefficents and sample data.