?? code_2i40_9bits.asm
字號:
*****************************************************************************
** Description: search_2i40_9bits() in c2_9pf.c **
** **
** Inputs **
** **
** al ---Word16 pitch_sharp **
** ar4 ---Word16 subNr **
** xar2---Word16 h[] **
** xar3---Word16 x[] **
** ah ----Word16 T0 **
** **
** Outputs: **
** **
** xar5---Word16 code[] **
** xar6---Word16 y[] **
** xar7---Word16 sign[] **
** **
** **
** **
** Return value : pl **
** **
** Attribute : Cycles:208616 Pm: 65 **
** Modified Registers: all **
** **
** Programmer : Qi Ying **
*****************************************************************************
.global _code_2i40_9bits
.ref _cor_h_x
.ref _set_sign
.ref _cor_h
.ref _search_2i40
.ref _build_code
.ref _buffer1
.ref _buffer2
.ref _buffer3
_code_2i40_9bits:
addb sp, #20
lsl al, #1 ;al=sharp
movl *-sp[2], acc ;T0,sharp
cmp ah, #40
sb _Line_139, GEQ
movz ar0, ah ;ar0=i
_Loop_136:
cmp ar0, #40
sb _Line_139, GEQ
sub ar0, ah ;ar0=i-T0
mov T, *+xar2[ar0] ;h[i-T0]
add ar0, ah ;ar0=i
mpy acc, T, al
lsl acc, #1
add *+xar2[ar0], ah ;h[i]
movl acc, *-sp[2]
inc ar0 ;i++
sb _Loop_136, UNC
_Line_139:
movl *-sp[4], xar2
movl *-sp[6], xar3
movl *-sp[8], xar4
movl *-sp[10], xar5
movl *-sp[12], xar6
movl *-sp[14], xar7
mov ar4, #1
movl xar1, #_buffer1+80 ;dn
LCR _cor_h_x
movl xar7, xar1 ;input:xar7=dn
movl xar5, #_buffer1+40
movl xar2, #_buffer2
LCR _set_sign ;output:xar7=dn
; xar5=dn_sign
; xar2=dn2
movl *-sp[16], xar7
movl *-sp[18], xar5
movl xar1, *-sp[4] ;input:xar1=h
movl xar3, *-sp[18] ; xar3=dn_sign
movl xar7, #_buffer3
LCR _cor_h ;output:xar7=rr[]
movl xar4, *-sp[8]
mov al, ar4 ;input:al=subNr
movl xar3, *-sp[16] ; xar3=dn
movl xar4, xar7 ; xar4=rr
movl xar2, #_buffer2
LCR _search_2i40 ;output:xar2=codvec
movl xar4, *-sp[8]
mov al, ar4 ;input:al=subNr
movl xar3, *-sp[18] ; xar3=dn_sign
movl xar4, *-sp[4] ; xar4=h
; xar2=codvec
movl xar5, *-sp[10]
movl xar6, *-sp[12]
movl xar7, *-sp[14]
LCR _build_code ;output:xar5=code
; xar6=y
; xar7=sign
; pl=index
movl acc, *-sp[2] ;T0,sharp
cmp ah, #40
sb _Line_156, GEQ
movz ar0, ah ;ar0=i
_Loop_153:
cmp ar0, #40
sb _Line_156, GEQ
sub ar0, ah ;ar0=i-T0
mov T, *+xar5[ar0] ;h[i-T0]
add ar0, ah ;ar0=i
mpy acc, T, al
lsl acc, #1
add *+xar5[ar0], ah ;h[i]
movl acc, *-sp[2]
inc ar0 ;i++
sb _Loop_153, UNC
_Line_156:
subb sp, #20
LRETR
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -