dsp优化-线性汇编中调用全局变量

 

查了一天的网站和书,都说直接用.global或者.ref申明一下全局变量就可以了,可是我的一直出错。
自己摸索了一天,调试了一天才调试成功,为了各位和我一样的小菜鸟们节省时间,贴出个简单的例子。
顺便吐槽某些大牛。。。。

;int g_arr[10] = {0,1,2,3,4,5,6,7,8,9};
;int g_b = 10;
                .global add
                .ref g_arr
                .global g_b
add:            .cproc  cnt
                .reg sum,tmp,arr,b


                ZERO sum
                MVKL g_arr,arr
                MVKH g_arr,arr
                MVKL g_b,b
                MVKH g_b,b
                LDW  *+b[0],b


add_1oop:       LDW *arr++,tmp
                ADD sum,tmp,sum
                SUB cnt,1,cnt


         [cnt]  B add_1oop


                ADD sum,b,sum
                .return sum
                .endproc
g_arr和g_b是定义的全局变量。其中.ref可以更换为.global

add函数原型为

int  add(int k);上面的程序在ccs5.3中调试通过

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页