beautypg.com

Texas Instruments MSP50C6xx User Manual

Page 181

background image

Individual Instruction Descriptions

4-95

Assembly 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 N–2:
(mask interrupts)
RPT counter = N–2
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..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

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.