📄 log10.asm
字号:
;************************************************************
; Copyright (C), 2009, CYIT Co., Ltd.
; FileName: CRC
; Description: CRC check
; Author: DSP_GROUP
; Usage: void CRC(int*,int*,int,int)
; Input: XAR0:coded data(InputData)
; XAR1:decoded CRC bits(CrcPoly)
; T0: Length of coded data(CodeOutlen)
; T1: Length of CRC bits(CrcPolylen)
; Return: NO
; Altered Registers: AC0-AC2,T2
; Others: 8 bits of AC0 LSB is CRCcheck bit
; History:
; <time> <version > <desc>
; 2009/3/9 1.0 build this moudle
;************************************************************
.mmregs
.data
logtable .int 0xDC56,0x54AD,0x9E8A,0x50D5
.int 0xC056,0x3FFD,0x062D,0x58B9
.text
.def _log
_log:
PSH mmap(ST1)
PSHBOTH XAR1
PSHBOTH XAR2
MOV #4,T0
SUB #1,T0
MOV T0,mmap(BRC0)
MOV XAR0,XAR1
RPTB log_calculation-1
MOV *AR0+,AC0
MANT AC0,AC1
::NEXP AC0,T2
MOV HI(AC1),*AR1+
BCLR FRCT
MOV T2,*AR1
AMAR *AR1-
MOV *AR1+,T1
AMOV #logtable,XAR2
BCLR #14,T1 ;T1=(ess-0.5)
SFTS T1,#1 ;t1=(2*ess -1)=u
MOV *AR2+ << #16,AC0 ;AC0=C6(Q19)
MOV *AR2+ << #16,AC1 ;AC0=C5 (Q18)
MOV *AR2+ << #16,AC0 ;AC0=C4 (Q17)
||MACR AC0,T1,AC1 ;AC1=C6*u+C5
MOV *AR2+ << #16,AC1
||MACR AC1,T1,AC0
MOV *AR2+ << #16,AC0
||MACR AC0,T1,AC1
MOV *AR2+ << #16,AC1
||MACR AC1,T1,AC0
MACR AC0,T1,AC1
SFTSC AC1,#1
MPY T1,AC1
ADD *AR2+,AC1
MOV *AR1+, T1
SUB #1,T1
MPYM *AR2,T1,AC0
ADD AC0 << #15,AC1
SFTS AC1,#1
BSET FRCT
MANT AC1,AC0
::NEXP AC1,T0
MPYK #03797h,AC0
MANT AC0,AC1
::NEXP AC0,T1
ADD T1,T0
MOV HI(AC1),*AR1+
BCLR FRCT
MOV T0,*AR1+
log_calculation:
BSET FRCT
POPBOTH XAR2
POPBOTH XAR1
POP mmap(ST1)
.END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -