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

📄 cos1.asm

📁 dsp5000,ad转换源代码。用于数模转换输入输出处理。
💻 ASM
字号:

                 .mmregs
                 .def    cos_generate,end_of_cose,main
                 .def    d_cos_delay1,d_cos_delay2,d_theta,d_cosx
d_cos_delay1     .usect  "cos_vars",1
d_cos_delay2     .usect  "cos_vars",1
d_theta          .usect   "cos_vars",1
d_cosx           .usect   "cos_vars",1  

k_cos_delay_0    .set     8*32768/10                ;0.8
k_cos_delay_1    .set     8*99619*32768/1000000     ;cos(5)*0.8
k_cos_delay_2    .set     8*9848*32768/100000        ;cos(10)*0.8
k_cos_theta      .set     99619*32768/100000        ;cos(5)          
k_2              .set     2h             ;循环缓冲区大小
k_216            .set     216            ;指针

COSDATA          .usect   "cos_data",216  ; 3 cycles

                 .text
main:            
                 RSBX      CPL
                 ld        #0,dp
                 SSBX      SXM
                 SSBX      FRCT
                 STM       #COSDATA,AR5
                 NOP
                 LD        #d_cos_delay1,DP
                 NOP             

                                    ;初始化缓冲区
                 STM       #d_cos_delay1,AR3
                 STM       #d_theta,AR4
                 RPTZ      A, #3h
                 STL       A,*AR3+
              
                                    ;设置循环缓冲区大小  
                 STM       #1,AR0
                 STM       #d_cosx,AR2
                 STM       #k_2,BK     
                 STM       #k_216-1,BRC  
                 NOP     
                 STM       #d_cos_delay1,AR3
                 ST        #k_cos_delay_1,*AR3+
                 ST        #k_cos_delay_2,*AR3
                 ST        #k_cos_theta,d_cosx  
                 ST        #k_cos_delay_0,*ar5+
                 ST        #k_cos_delay_1,*ar5+
                 ST        #k_cos_delay_2,*ar5+
cos_generate:
                 RPTB     end_of_cose-1
                 MPY     *AR2,*AR3+0%,A        ;cos(theta)*cos((n-1)theta)
                 SUB     *AR3,15,A               ;1/2*cos((n-2)theta)
                 SFTA     A,1,A  
                 STH      A,*AR3              ;保存
                 MVDD     *AR3,*AR5+  
                 NOP
end_of_cose:     NOP          
cosend:          
                 B        cosend  
                   .end

⌨️ 快捷键说明

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