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

📄 iir32i.asm

📁 DSP的实验测试程序
💻 ASM
字号:
;
;File name:       IIR32IA.ASM                  
;                    
;Originator:    Digital Control Systems Group
;           Texas Instruments
;
;Description:  
;===========
;Header file containing the initialisation routine for IIR5BIQ32 module
;===================================================================
; History:
;-------------------------------------------------------------------
;17-2-2000  Release Rev 1.0                                                  
;-------------------------------------------------------------------
                .def    _IIR5BIQ32_init    ; IIR5BIQ32 Module Initialisation
                
__iir5biq32_frs .set    00001h          ; Local frame size for this routine                                          
          
_IIR5BIQ32_init:
            POPD    *+                      ; Store the Return Address in stack
            SAR     AR0,*+                  ; Store the Caller's Frame Pointer
            SAR     AR1,*
            LAR     AR0,#__iir5biq32_frs        
            LAR     AR0,*0+,AR2             ; Create Local frame for sin function
                                     
            LAR     AR2,#0FFFDh             ; AR2=-3
            MAR     *0+                     ; Modify AR2 to point to the input argument
            LAR     AR2,*                   ; ARP=AR2, AR2=coeff_ptr
            
            ADRK    #2                      ; ARP=AR2, AR2->nbiq
            LACL    *-,AR0                  ; ARP=AR0, AR0=FP, AR2->dbuffer_ptr, ACC=nbiq 
            SFL                             ; ACC=2*nbiq
            SFL                             ; ACC=4*nbiq
            SUB     #1                      ; ACC=(4*nbiq)-1
            SACL    *,AR2                   ; ARP=AR2, AR2->dbuffer_ptr, *FP=(4*nbiq)-1
            ADDS    *                       ; ARP=AR2, AR2->dbuffer_ptr, ACC=dbuffer_ptr+(4*nbiq)-1
            LAR     AR3,*                   ; ARP=AR2, AR2->dbuffer_ptr, AR3=dbuffer_ptr
            SACL    *,AR0                   ; ARP=AR0, AR0=FP,dbuffer_ptr=dbuffer_ptr +(4*nbiq)-1
            LAR     AR4,*,AR3               ; APR=AR3, AR3=dbuffer_ptr, AR4=(4*nbiq)-1
            LACL    #0
            
clrloop2:   SACL    *+,0,AR4                ; Clear the delay buffer
            BANZ    clrloop2,*-,AR3
                
            MAR     *,AR2                   ; ARP=AR2, AR2->dbuffer_ptr
            ADRK    #2                      ; ARP=AR2, AR2->input
            SACL    *                       ; ARP=AR2, AR2->input, input=0
            ADRK    #3                      ; ARP=AR2, AR2->output
            SACL    *-                      ; ARP=AR2, AR2->qfmat, output=0
            LACL    #15                     ; ACC=15
            SUB     *                       ; ARP=AR2, AR2->qfmat,ACC=15-qfmat
            SACL    *,0,AR1                 ; ARP=AR1, qfmat=15-qfmat
     
            SBRK    #(__iir5biq32_frs+1)    ; Clear the local frame
            LAR     AR0,*-          ; Retrive Caller's frame pointer
            PSHD    *               ; Push the return address to TOS
            RET                     ; Return to the caller
            
                        

                    
                    


    

⌨️ 快捷键说明

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