csd_div_float.s43

来自「msp430-book」· S43 代码 · 共 54 行

S43
54
字号
;******************************************************************************
;   MSP430FG439 Integer-Float division using Horner's Algorithm with CSD format
;
;   Description: This code performs a 16-bit integer division by a float number
;                to return an 16-bit integer
;
;   Note:        This code assumes 32.768kHz XTAL on LFXT1 on the MSP430FG439 
;
;
;                 MSP430FG439
;               -----------------
;              |              XIN|-  
;              |                 | 32.768kHz
;              |             XOUT|-
;              |                 |
;
;
;   K. Venkat
;   Texas Instruments Inc.
;   July 2006
;   Built with IAR Embedded Workbench Version: 3.41A
;*******************************************************************************/
	    public div_csd_float
	    RSEG CODE

div_csd_float:

            mov.w     R12,R14               ; The operand "input" in register R12   
            rra.w     R14       
            rra.w     R14       
            add.w     R12,R14               ; X1=X*2^-2+X
            rra.w     R14       
            rra.w     R14       
            rra.w     R14       
            sub.w     R12,R14               ; X2=X1*2^-3-X 
            rra.w     R14       
            rra.w     R14       
            rra.w     R14       
            sub.w     R12,R14               ; X3=X2*2^-3-X 
            rra.w     R14              
            rra.w     R14       
            rra.w     R14              
            add.w     R12,R14               ; X4=X3*2^-3+X 
            rra.w     R14       
            rra.w     R14       
            rra.w     R14       
            rra.w     R14 
            rra.w     R14                   ; Final result=X4*2^-5
            mov.w     R14,R12               ; The final answer returned to the 
                                            ; calling function
            ret
            END
        
       

⌨️ 快捷键说明

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