汇编程序求注释

2019-07-23 14:20发布

FIR低通滤波
HIGHPASS        .set        0            ;if you want to use ,please set the value to 1
BANDPASS        .set        0
LOWPASS                .set        1
        .global        start,fir
        .mmregs
COFF_FIR_START: .sect  "coff_fir"
        .if LOWPASS        
        .include        "lowpasslowpass.inc"
        .elseif BANDPASS
        .include        "bandpassandpass.inc"
        .else
        .include        "highpasshighpass.inc"        
        .endif

K_FIR_BFFR                .set        32
d_data_buffer        .usect        "fir_bfr",64
FIR_DP                        .usect        "fir_vars",0
d_filin                        .usect        "fir_vars",1
d_filout                 .usect        "fir_vars",100h
output                        .usect        "fir_vars",1

        .asg        AR4,FIR_DATA_P
        .asg        AR6,INBUF_P
        .asg        AR7,OUTBUF_P
        .asg        AR3,OUTBUF
        .sect        "fir_prog"   
        nop
start:
        LD                #FIR_DP,DP        
        STM                #d_data_buffer,FIR_DATA_P
        RPTZ    A,#K_FIR_BFFR-1
        STL                A,*FIR_DATA_P+
        STM                #d_filin,INBUF_P
        STM                #d_filout,OUTBUF_P     
        STM                #output,OUTBUF
        STM                #100h,BK
fir_loop:
        NOP    ;Add Breakpoint & porbe point
        LD                *INBUF_P,A
        CALL        fir
        STH                A,*OUTBUF_P+%
        STH                A,*OUTBUF
main_end:
        b                fir_loop   
               
fir:
;        SSBX        SXM                             
;    SSBX    FRCT
        STM                #d_data_buffer,FIR_DATA_P
        STL                A,*FIR_DATA_P
        STM                #(d_data_buffer+K_FIR_BFFR-1),FIR_DATA_P   

fir_task:
        RPTZ        A,#K_FIR_BFFR-1
        MACD        *FIR_DATA_P-,COFF_FIR_START,A
        
        RET
        .end                                
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
liliang9554
1楼-- · 2019-07-24 09:17
能详细说说吗
jiahy
2楼-- · 2019-07-24 09:25

.set可以认为是赋值操作,对一个数据
.sect也是赋值,但是是对一块数据
.usect同上,但是不给具体的值,只是开辟一块空间
.asg可以认为是重命名
.globle就是定义成全局变量
liliang9554
3楼-- · 2019-07-24 14:51
谢谢,谢谢
豆腐块
4楼-- · 2019-07-24 16:34
现在能读汇编的人不多了吧

一周热门 更多>