⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 log10.asm

📁 对数运算实现是32位的运算包含有指数和对数的求法
💻 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 + -