English
Language : 

AN2407 Datasheet, PDF (37/48 Pages) Freescale Semiconductor, Inc – Reed Solomon Encoder/Decoder on the StarCore SC140/SC1400 Cores, With Extended Examples
References
[ move.l d5,r5
]
move.2l (r2)+,d8:d9
[ moveu.b (r3),d13
]
move.l d2,r6
[ zxt.w d8,d5
moveu.b (r4),d6
]
asrw d8,d4
moveu.b (r5),d11
[ min d1,d5
asll #8,d13
moveu.b (r6),d7
]
min d0,d4
[ add d14,d5,d2
asrw d9,d8
]
zxt.w d9,d5
tfr d11,d9
[ min d1,d5
]
asll #24,d9
[ add d14,d5,d3
tfr d1,d12
move.l (r0),d15
]
tfr d9,d5
asll #16,d6
; Main loop. Here the MACs over GF(256) are done."i" is the index of the
iteration,
; ranging from 0 to #N/4-1.Results with indices -3 ... 0 -> results were
initialized to zero.
; Main loop
loopstart3
LOOP_ON_N
[ add d14,d4,d4
tfr d1,d7
move.l d3,r4
]
eor d7,d15
min d8,d12
move.2l (r2)+,d8:d9
; table index[2+i] -> d4
; copy 511 into d7
; table entries[5+i..8+i]->d8:d9
result[1+4(i-1)] is added to accumulator
offset[4+i] -> d12
table index[3+i] -> r4
[ add2 d10,d8
add d14,d12,d5
move.l d4,r3
]
eor d5,d15
add2 d10,d9
move.l d2,r6
; sum of exponents[5,6+i] -> d8
; table index[4+i] -> d5
; table index[2+i] -> r3
result[1+4(i-1)] is added to accumulator
sum of exponents[7,8+i] -> d9
table index[1+i] -> r6
[ zxt.w d8,d5
zxt.w d9,d3
move.l d5,r5
]
; sum of exponents [5+i] -> d5
; sum of exponents [6+i]-> d4
; table index[4+i] -> r5
eor d6,d15
asrw d8,d4
moveu.b (r4),d6
result[3+4(i-1)] is added to accumulator
sum of exponents [7+i] -> d3
result[3+i] -> d6
Reed Solomon Encoder/Decoder on the StarCore™ SC140/SC1400 Cores, With Extended Examples, Rev. 1
Freescale Semiconductor
37