q15_div.asm

来自「Texas-Instrument C2000 Series DSP exampl」· 汇编 代码 · 共 49 行

ASM
49
字号
;=====================================================================
; Name:          Q15_DIV.ASM
; Project:       Q15.LIB 
; Originator:    Martin Staebler
;=====================================================================

;---------------------------------------------------------------------
; unsigned _q15_div(unsigned nom,unsigned denom)
;---------------------------------------------------------------------
; Function:     positive fractional q15 division
;               range from 0000h .. 7FFFF
;
; Arguments:    unsigned nominator:    q15 [0000h - 7FFFFh]
;               unsigned denominator:  q15 > nominator   
;               --> !!! check beforehand  !!!                      
;
; Return value:  dividend q15 <--> 0000h - 7FFFh
;---------------------------------------------------------------------
                .def    _q15_div
                .text
_q15_div:                
        ;context save        
        ;------------
                popd    *+              ;push return address
                                        ;no local var's
                sar     AR1,*
                lar     AR2,*,AR2
                sbrk    #2              ;AR2 points to first parameter
                
        ;division for POSITIV fractional numbers        
        ;---------------------------------------
        
                lacc    *-,16   
                rpt     #14
                subc    *       
                                ;ACCL = quotient
        
        ;context restore                
        ;---------------
                mar     *,AR1
                sbrk    #1              ;pop local var's + 1 from stack
                pshd    *               ;restore return address
                ret
        
        
       


⌨️ 快捷键说明

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