AN2072 Freescale Semiconductor / Motorola, AN2072 Datasheet - Page 24

no-image

AN2072

Manufacturer Part Number
AN2072
Description
AN2072, Decision Feedback Equalizer for StarCore-Based DSPs
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
Implementation of the Algorithm
24
section .data local
N
DUMMY dc 0,0,0,0,0,0
Ftemp
find_max_delay type func
Loop1_1:
loop_2:
loopstart3
[ max2 d0,d4
]
loopend3
[ max2 d0,d4
]
[
sxt.w d4,d4 asrw d4,d0 tfr d2,d3 tfr d2,d1
move.l d5,(r2)
]
[
cmpgt d4,d0 max d0,d4 add #<2,d2
move.w (r2)+,d0
]
loopstart3
[ cmpgt d4,d0
]
loopend3
[ cmpgt d4,d0
]
[
ift tfr d2,d3 add d2,d5,d4
iff add d3,d5,d4
]
align 4
; The starting address for the subset with maximum is saved in d3
global Ftemp
move.w #d_array,r0
move.w #d_array+8,r1
move.w #Ftemp,r2
move.w #Ftemp+4,r3
move.2l (r0)+n3,d0:d1
max2 d2,d6
move.2l (r0)+n3,d0:d1
max2 d2,d6
move.w #d_array,d2
tfrt d2,d3 add #<2,d2 move.w (r2)+,d0
tfrt d2,d3 add #<2,d2 move.w #<16,d5
equ
ds 3*4
endsec
global find_max_delay
section .text local
16
Code Listing 8. Locating the Optimum Delay (find_max.asm)
Decision Feedback Equalizer for StarCore™-Based DSPs, Rev. 1
move.2l d6:d7,(r3)
move.w #<8,n3
max d0,d4
max d0,d4
move.2l (r0)+n3,d4:d5
move.2l (r1)+n3,d6:d7
move.2l (r1)+n3,d2:d3
move.w #<2,n3
doensh3 #<(N/8)-2
max2 d1,d5
max2 d3,d7
move.2l (r1)+n3,d2:d3
max2 d1,d5
max2 d3,d7
doensh3 #<5
Freescale Semiconductor

Related parts for AN2072