?? getrange.asm
字號:
***************************************************************************
** Description: getrange() in pitch_fr.c
**
** Inputs
**
** AR1: Word16 T0
** AR2: Word16 delta_low
** AR3: Word16 delta_range
**
** Outputs:
**
** AR1: Word16 t0_min
** AR2: Word16 t0_max
**
** Return value:
**
** none
**
** Attribute: Cycles: 84 Pm: 14
**
** Modified Registers: ACC,XAR1,XAR2,XAR3
**
** Programmer: Liu Yang
**
** Complete time: 2003 4 1
*****************************************************************************
.global _getrange
_getrange:
MOV AL,@AR2 ; AL = delta_low
SUB @AR1,AL ; AR1 = t0_min = T0 - delta_low
CMP @AR1,#20 ; if t0_min < pit_min
SB B1,GEQ
MOV AR1,#20 ; AR1 = t0_min = pit_min = 20
B1: MOV AL,@AR1 ; AL = t0_min
ADD AL,@AR3 ; AL = t0_max = t0_min + delta_range
CMP AL,#143 ; if t0_max > pit_max
SB B2,LEQ
MOV AL,#143 ; AL = t0_max = pit_max = 143
SUBR @AR3,AL ; AR3 = t0_min = t0_max - delta_range
MOV @AR1,AR3 ; AR1 = t0_min
B2: MOV AR2,AL ; AR2 = t0_max
LRETR
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -