?? lsp_az.asm
字號:
*****************************************************************************
** Description: Lsp_Az in lsp_Az.c **
** **
** Inputs **
** **
** xar2---Word16 a[] **
** xar3---Word16 lsp[] **
** **
** Outputs: **
** **
** Return value : none **
** **
** Attribute : Cycles: Pm:50 **
** Modified Registers: acc,p,t,xar0,1,3-7 **
** **
** Programmer : YANG zhiwei **
*****************************************************************************
.global _Lsp_Az
.ref _Get_lsp_pol
.ref _buffer2
_Lsp_Az:
movl xar0,xar2 ;store the address of a[]
movl xar1,xar3 ;store the address of lsp[]
movl xar4,#_buffer2 ;f1 = #_buffer2
lcr _Get_lsp_pol
movl xar3,xar1 ;restore the address of lsp[] to xar3
addb xar3,#1 ;xar3 point to lsp[1]
movl xar4,#_buffer2+40 ;f2 = #_buffer2+40
lcr _Get_lsp_pol
movl xar4,#_buffer2+4*2 ;xar4 point to f1[5-1]
movl xar5,#_buffer2+40+4*2 ;xar5 point to f2[5-1]
mov ar1,#5-1 ;5 loops,i = 5 - 1
_loop_143:
movl acc,*xar4 ;acc = f1[i-1]
addb xar4,#1*2 ;xar4 point to i
addl *xar4,acc ;f1[i] += f1[i-1]
subb xar4,#2*2 ;xar4 point to i-2
movl acc,*xar5 ;acc = f2[i-1]
addb xar5,#1*2 ;xar5 point to i
subl *xar5,acc ;f2[i] -= f2[i-1]
subb xar5,#2*2 ;xar5 point to i-2
banz _loop_143,ar1--
movl xar2,xar0 ;restore the address of a[] to xar2
mov *xar2,#0x1000 ;a[0] = 4096
mov ar3,#1 ;i = 1
mov ar1,#10 ;j = 10
movl xar4,#_buffer2 ;xar4 point to f1[0]
movl xar5,#_buffer2+40 ;xar5 point to f2[0]
_loop_150:
mpy p,ar3,#2
movl xar0,p
movl acc,*+xar4[ar0] ;acc = f1[i]
addl acc,*+xar5[ar0] ;acc = f1[i] + f2[i]
mov t,#13 ;L_lsr_r(acc,13)
asrl acc,t
;bf _line_153,lo,nc
bf _line_153,nc
add acc,#1
_line_153:
mov ar0,ar3
mov *+xar2[ar0],al ;a[i] = extract_l (L_shr_r (t0, 13))
mpy acc,ar3,#2
mov ar0,al
movl acc,*+xar4[ar0] ;acc = f1[i]
subl acc,*+xar5[ar0] ;acc = f1[i] - f2[i]
mov t,#13 ;L_lsr_r(acc,13)
asrl acc,t
;bf _line_155,lo,nc
bf _line_155,nc
add acc,#1
_line_155:
mov *+xar2[ar1],al ;a[j] = extract_l (L_shr_r (t0, 13))
inc ar3 ;i++
dec ar1 ;j--
cmp ar3,#5
bf _loop_150,leq
lretr
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -