longdiv.asm
来自「文件为美军4800bps语音压缩编码标准在TI的DSP芯片TMS320C5X上的」· 汇编 代码 · 共 55 行
ASM
55 行
;----ACC=DIVISOR, ACCB(|.|<|ACC|)=DIVIDEND ,RESULT(1.15) IN LOW ACC-
;--ACCB/ACC------------
LONGDIV
LDP #ACCBUF
SACL ACCBUF
SACH ACCBUF+1
ABS
SUB #7FFFH
BCND LDIV_0,C ;C=0,JUMP IF ACC>0X8000
LACB
SACL DIVISOR
LACC DIVISOR,15
SACB
LACC ACCBUF
SACL DIVISOR
B LDIV_2
;-------------
LDIV_0
LACC ACCBUF+1,16
OR ACCBUF
LAR AR4,#0
MAR *,AR4
;CLRC TC
LDIV_1
NORM *+
BCND LDIV_1A,TC
EXAR ;ACC<->ACCB,
NORM *
EXAR
B LDIV_1
LDIV_1A
SACH DIVISOR
EXAR
SFR ;ACCB>>1
EXAR
LDIV_2
XORB
SACH SIGNFLAG ;if (acc*accb<0) signflag<0
LACC DIVISOR
ABS
SACL DIVISOR
LACB
ABS
RPT #15
SUBC DIVISOR
BIT SIGNFLAG,0 ;test if signflag(bit 15)<0
BCND LDIV_3,NTC
NEG
LDIV_3
SACL ACCBUF ;in order to sign extend high acc
LACC ACCBUF
RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?