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

📄 floatto1q15.lst

📁 基于c166的 FFT算法源程序
💻 LST
字号:
C166 COMPILER V6.04, FLOATTO1Q15                                                           09/04/2007 16:24:43 PAGE 1   


C166 COMPILER V6.04, COMPILATION OF MODULE FLOATTO1Q15
OBJECT MODULE PLACED IN FloatTo1Q15.OBJ
COMPILER INVOKED BY: C:\Keil\C166\BIN\C166.EXE FloatTo1Q15.c MODV2 BROWSE MODV2 DEBUG

 stmt lvl     source

    1         /****************************************************************************** 
    2         ;  Module:              FloatTo1Q15
    3         ;  Filename:    FloatTo1Q15.c
    4         ;  Project:             DSP library for C166S V2 Core
    5         ;------------------------------------------------------------------------------
    6         ;  Compiler:    Keil
    7         ;
    8         ;  Version:             V1.2
    9         ;
   10         ;  Description: Changign the float format to 1Q15 format
   11         ;             
   12         ;  Date:                May 2003 
   13         ;
   14         ;  Copyright:   Infineon Technologies AG
   15         ;*****************************************************************************/
   16         
   17         /******************************************************************************
   18         ; DataS FloatTo1Q15(float       X);
   19         ;
   20         ; INPUTS:       
   21         ;               X               the input value in float format
   22         ;
   23         ; RETURN:       
   24         ;               Y               the output value in 1Q15 format         
   25         ;               
   26         ; ALGORITHM: According to the IEEE-754 format
   27         ;                          
   28         ; REGISTER USAGE:
   29         ;       1.      From .c file to .asm file:
   30         ;                       (R8)=mmmmmmmmmmmmmmmm
   31         ;                       (R9)=seeeeeeeemmmmmmm (s:sign; e:exponent; m:mantissa)
   32         ;                       
   33         ;       2.      From .asm file to .c file:
   34         ;                       (R4)=y
   35         ;
   36         ; Assumption:
   37         ;
   38         ;*****************************************************************************/
   39         
   40         #include "DspLib_Keil.h"
   41         
   42         DataS FloatTo1Q15(float x)                              
   43         {
   44  1         __asm
   45  1        {
   46  1      //read the exponent bits in R3
   47  1              MOV             R3,R9           ;(R3)=R9
   48  1              SHL             R3,#1h          ;(R3)<<1
   49  1              SHR             R3,#8h          ;(R3)>>8 = e
   50  1              SUB             R3,#7fh
   51  1              JMPR    cc_ULT,next     ;if((R3)<127), jump
   52  1      //if x=1
   53  1              MOV             R4,#07fffh      ;(R4)=32767, in the case x=1
   54  1      //read sign bit
   55  1              MOV             R2,R9           ;(R2)=(R9)
C166 COMPILER V6.04, FLOATTO1Q15                                                           09/04/2007 16:24:43 PAGE 2   

   56  1              SHR             R2,#0fh         ;(R2)=(R2)>>15 =s
   57  1              JMPR    cc_Z,ende
   58  1      //if x=-1
   59  1              MOV             R4,#8000h       ;(R4)=32768, in the case x=-1
   60  1      
   61  1              RET
   62  1      
   63  1      next:
   64  1      //read the mantissa in R4
   65  1              MOV             R4,R9           ;(R4)=(R9)
   66  1              SHL             R4,#9h          ;(R4)<<9
   67  1              SHR             R4,#1h          ;(R4)>>1
   68  1              SHR             R8,#8h          ;(R8)>>8
   69  1              ADD             R4,R8           ;(R4)=(R4)+(R8)
   70  1              SHR             R4,#1h          ;(R4)=(R4)>>1
   71  1              ADD             R4,#4000h       ;(R4)=(R4)+2^14
   72  1      
   73  1      //output in 1Q15 format
   74  1              ADD             R3,#1h          ;(R3)=(R3)+1
   75  1              NEG             R3                      ;(R3)=-(R3)
   76  1              CMP             R3,#0fh         
   77  1              JMPR    cc_SLT,next1;if (R3)<15, jump
   78  1              MOV             R4,#0h;
   79  1      
   80  1              RET
   81  1      
   82  1      next1:
   83  1              SHR             R4,R3
   84  1      //read the sign bit R2
   85  1              MOV             R2,R9           ;(R2)=(R9)
   86  1              SHR             R2,#0fh         ;(R2)=(R2)>>15 =s
   87  1              JMPR    cc_Z,ende
   88  1              NEG             R4
   89  1      
   90  1      ende: 
   91  1                                              
   92  1              RET
   93  1      
   94  1       }
   95  1      }
*** WARNING C47 IN LINE 42 OF FLOATTO1Q15.C: 'x': unreferenced parameter
   96         //------------------- END OF FILE ----------------------------------------------
   97                                                 


MODULE INFORMATION:   INITIALIZED  UNINITIALIZED
  CODE SIZE        =          72     --------
  NEAR-CONST SIZE  =    --------     --------
  FAR-CONST SIZE   =    --------     --------
  HUGE-CONST SIZE  =    --------     --------
  XHUGE-CONST SIZE =    --------     --------
  NEAR-DATA SIZE   =    --------     --------
  FAR-DATA SIZE    =    --------     --------
  XHUGE-DATA SIZE  =    --------     --------
  IDATA-DATA SIZE  =    --------     --------
  SDATA-DATA SIZE  =    --------     --------
  BDATA-DATA SIZE  =    --------     --------
  HUGE-DATA SIZE   =    --------     --------
  BIT SIZE         =    --------     --------
  INIT'L SIZE      =    --------     --------
END OF MODULE INFORMATION.

C166 COMPILER V6.04, FLOATTO1Q15                                                           09/04/2007 16:24:43 PAGE 3   


C166 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -