; file firlib\src\fir_sp_asm.s ; brief FIR filtering function in canonical C6600 assembler (single precision IEEE754) ; Advices for assembler procedure development : ; - step 1 : procedure call and return ; - step 2 : check loop exit condition and number of iterations ; - step 3 : check data loading and storage with complex index generation ; - step 4 : check for dot product implementation ; - step 5 : during test and validation, always check limits values ; author ; date .global fir_sp_asm ; C prototype : match registers : ; ; void fir_sp_asm ( const float * restrict xk, -> A4 ; const float * restrict a, -> B4 ; float * restrict yk, -> A6 ; int na, -> B6 ; int nyk); -> A8 fir_sp_asm: ;int i, j; MV A8,A0 ;i 4b) ; [A0] SUB A0,1,A0 ; [A0] B fir_sp_asm_l1 [A0] BDEC fir_sp_asm_l1,A0 NOP 5 ; end of input array loop B B3 NOP 5 ; end of fir_sp_asm procedure