📄 set_sign.asm
字号:
*****************************************************************************
** Description: set_sign() in set_sign.c **
** **
** Inputs **
** **
** xar7---Word16 dn[] **
** **
** Outputs: **
** **
** xar7---Word16 dn[] **
** xar5---Word16 sign[] **
** xar2---Word16 dn2[] **
** **
** **
** Return value : none **
** **
** Attribute : Cycles: 2309 Pm: 14 **
** Modified Registers: all **
** **
** Programmer : Qi Ying **
*****************************************************************************
.global _set_sign
.ref _buffer1
.ref _buffer2
.ref _buffer3
_set_sign:
mov ar4, #39 ;循环次数40
_Loop_60:
mov al, *xar7 ;val=al,dn[i]放入al
cmp al, #0
sb _Line_66, LT ;val<0就跳转
mov *xar5++, #32767
sb _Line_70, UNC
_Line_66:
mov *xar5++, #-32767
neg al
_Line_70:
mov *xar7++, al ;dn[i] = val
mov *xar2++, al ;dn2[i] = val
banz _Loop_60, ar4--
subb xar7, #40
subb xar5, #40
subb xar2, #40 ;xar7,5,2都指回数组头
LRETR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -