📄 post_process.asm
字号:
*****************************************************************************
** Description: Post_Process() in post_pro.c **
** **
** Inputs **
** **
** Outputs: **
** **
** **
** Return value : 0 **
** **
** Attribute : Cycles:25944 Pm: 43 **
** Modified Registers: all **
** **
** Programmer : Qi Ying **
*****************************************************************************
.global _Post_Process
.ref dec_y2_hi
.ref dec_y2_lo
.ref dec_y1_hi
.ref dec_y1_lo
.ref dec_x0
.ref dec_x1
.ref _synth
_Post_Process:
movl xar3, #_synth ;signal
mov ar0, #0 ;ar0=i
_Loop_152:
cmp ar0, #160
sb _Line_176, GEQ
movl xar1, #dec_x1
mov ar7, *xar1 ;ar7=x2=st->x1
movl xar1, #dec_x0
mov al, *xar1
movl xar1, #dec_x1
mov *xar1, al ;st->x1=st->x0
movl xar1, #dec_x0
mov al, *+xar3[ar0]
mov *xar1 , al ;st->x0=signal[i]
ZAPA
movl xar1, #dec_y1_hi
mpya P, *xar1, #15836 ;st->y1_hi
movl xar1, #dec_y1_lo
mpya P, *xar1, #15836 ;st->y1_lo
movh ar6, P
add acc, ar6<<1
movl xar5, acc ;xar5=L_tmp
ZAPA
movl xar1, #dec_y2_hi
mpya P, *+xar1[0], #-7667 ;st->y2_hi
movl xar1, #dec_y2_hi
mpya P, *+xar1[1], #-7667 ;st->y2_lo
movh ar6, P
add acc, ar6<<1
addl acc, xar5 ;acc=L_tmp
movl xar1, #dec_x0
mpy P, *xar1, #7699 ;st->x0
addl acc, P<<pm
movl xar1, #dec_x1
mpy P, *xar1, #-15398 ;st->x1
addl acc, P<<pm
mpy P, ar7, #7699 ;x2
addl acc, P<<pm
lsl acc, #2
movl xar5, acc ;xar5=L_tmp
lsl acc, #1
add acc, #0x0800<<#4 ;ah=round(L_shl(L_tmp, 1))
mov *+xar3[ar0], ah ;signal[i]
movl xar1, #dec_y1_hi
mov al , *xar1
movl xar1, #dec_y2_hi
mov *xar1, al ;st->y2_hi=st->y1_hi
movl xar1, #dec_y1_lo
mov al, *xar1
movl xar1, #dec_y2_lo
mov *xar1, al ;st->y2_lo=st->y1_lo
movl acc, xar5
movl xar1, #dec_y1_hi
mov *xar1, ah
lsr al, #1
movl xar1, #dec_y1_lo
mov *xar1, al
inc ar0
sb _Loop_152, UNC
_Line_176:
LRETR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -