Texas Instruments MSP50C614 User Manual
Page 187
Individual Instruction Descriptions
4-95
Assembly Language Instructions
4.14.14
CORK
Correlation Filter Function
Syntax
[label]
name
dest, src
Clock,
clk
Word,
w
With RPT,
clk
Class
CORK
A
n, *Rx
3
1
3(n
R
+2)
9a
Execution
With RPT N–2:
(
mask interrupts)
RPT counter = N–2
MR =
h[0] = first filter coefficient
x = sample data pointed at by Rx
even
h[1] = second filter coefficient pointed by DP
y = result stored in three consecutive accumulators (48 bit) pointed by An
{between every accumulation}
IF TAG = 1
R
x
even
= R
x
even
+ R5 {for circular buffering}
ELSE
R
x
even
++
{ if R
x++ is specified in the instruction}
ENDIF PC
⇐
PC + 1
{final result}
y
+
ȍ
k
+
0..N–1
h [k] · x[N–1–k]
(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
CORK A
n, *Rx
1
1
1
0
1
0
0
A
n
1
0
0
R
x
1
1
Description
When used with repeat will execute 16 * 16 multiplication between data
memory and program memory, 48–bit accumulation, and a circular buffer
operation. Each tap takes 3 instruction cycles. Selected register R
x 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 CORK execution, interrupt is queued.
See Also
RPT, COR, FIR, FIRK
Example 4.14.13.1
RPT 0
CORK 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.