set_sign.asm
来自「基于TMS320F2812的AMR+RS编解码+OFDM调制解调源程序。是sta」· 汇编 代码 · 共 75 行
ASM
75 行
*****************************************************************************
** 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 + =
减小字号Ctrl + -
显示快捷键?