B) Program To Perform Circulsr Convolution of Two Sequences Using Tms320C50
B) Program To Perform Circulsr Convolution of Two Sequences Using Tms320C50
.MMREGS
.TEXT
START:
LDP #100H
LACC 0H ;length of the input is given in 8000
SUB #1H
SACL 1H
LAR AR0,1H
LAR AR1,#8060H;
LAR AR2,#8100H
COPYX2:
MAR *,AR1
LACC *+
MAR *,AR2
SACL *+
MAR *,AR0
BANZ COPYX2,*-
LAR AR0,1H
LAR AR2,#8010H
LOOP3:
LAR AR1,#8060H ;give the inputs x1[n] & h2[n] in AR1 & AR3
LAR AR3,#8050H
LAR AR4,1H
ZAP
LOOP:
MAR *,AR3 ;multiply x1[n] & X2[n] and add the;multiplication
LT *+
MAR *,AR1 ;output
MPY *+
SPL 5H ;store the partial result at location 8005
ADD 5H ; add the partial result with accumulator
MAR *,AR4
BANZ LOOP,*-,
MAR *,AR2
;outputs of correlation are stored in AR2
SACL *+
CALL ROTATE
LOOP2:
MAR *,AR0
BANZ LOOP3,*-
H: B H
ROTATE:
LDP #100H ;rotate the values of X1[n]
LACC 1H
SUB #1H
SACL 2H
LACC 0050H
SACB ; 8050 DATA MOVED TO THE ACCUMULATOR TO THE
ACCUMULATOR BUFFER
LAR AR3,#8051H
LAR AR5,#8070H
LAR AR6,2H
LOOP1:
MAR *,AR3
LACC *+
MAR *,AR5
SACL *+,
MAR *,AR6
BANZ LOOP1,*-; DATA FROM 8051-8053 TO 8070-8072
LACB ;MOVE THE DATA ACCUMULATOR BUFFER TO ACCUMULATOR AS
LAST DATA
MAR *,AR5
SACL *+
LACC #8070H
SAMM BMAR
LAR AR3,#8050H
MAR *,AR3
RPT #3H ;ROTATE 4 TIMES
BLDD BMAR,*+ ;BMAR AUTOMATICALLY INCREMENTED ,TO COPY SHIFTED
DATA TO 8050
RET
;INPUT:
; 8000-0004
;
;OUTPUT:
; 8010-000E
; 8011-0010
; 8012-000E
; 8013-0010
;