?? check_lsp.asm
字號:
*****************************************************************************
** Description: check_lsp() in file.c **
** **
**Inputs **
** **
** xar0--- Word16 st->count **
**
** xar2--- Word16 *lsp **
**
**
**Outputs: **
** ar6---返回的flag值
** **
** Temporary:
**
**
**
** **
** Return value : **
** **
** Attribute : Cycles: 453 Pm: 60 **
** Modified Registers:acc,xar0,xar2,xar3
** xar4,xar5,xar6 **
** **
** Programmer : Zhang Xin **
*****************************************************************************
.global _check_lsp
_check_lsp:
push xar2
mov ar4,#0x7fff ;dist_min1 = MAX_16
addb xar2,#3
mov ar3,#4 ;循環(huán)次數(shù)
_Loop_136:
mov al,*xar2++
sub acc,*xar2
cmp al,@ar4
sb _L1,LT
sb _L2,UNC
_L1:
mov ar4,al ;dist_min1 = dist
_L2:
banz _Loop_136,ar3--
mov ar5,#0x7fff ;dist_min2 = MAX_16
pop xar2
addb xar2,#1
mov ar6,#1 ;循環(huán)次數(shù)
_Loop_148:
mov al,*xar2++
sub acc,*xar2
cmp al,@ar5
sb _L3,LT
sb _L4,UNC
_L3:
mov ar5,al ;dist_min2 = dist
_L4:
banz _Loop_148,ar6--
subb xar2,#2
mov ar3,#1100 ;dist_th=1100
cmp *xar2,#32000
sb _L5,GT
cmp *xar2,#30500
sb _L6,GT
sb _L7,UNC
_L5:
mov ar3,#600 ;dist_th = 600
sb _L7,UNC
_L6:
mov ar3,#800 ;dist_th = 800
_L7:
cmp ar4,#1500
sb _L8,LT
mov al,ar5
cmp al,ar3
sb _L8,LT
sb _L9,UNC
_L8:
add *xar0,#1 ;st->count=add(st->count, 1)
sb _L10,UNC
_L9:
mov *xar0,#0 ;st->count=0
_L10:
cmp *xar0,#12
sb _L11,GT
sb _L12,UNC
_L11:
mov *xar0,#12 ;st->count=12
mov ar6,#1 ;return 1
sb _L13,UNC
_L12:
mov ar6,#0 ;return 0
_L13:
LRETR
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -