这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 开贴记录我的TMS320VC5410开发板折腾进程

共11条 2/2 1 2 跳转至
高工
2012-09-13 22:47:54     打赏
11楼
一段循环程序结构的代码:
求a[i]*x[i](i=1,2,3,4)中的最大值,程序是照着问老王要的那个书敲进来的
添加了几句注释:

    .title "ex43.asm"
    .mmregs
STACK    .usect    "STACK",10H    ;引号中的STACK是段名,对应CMD文件中的一个段
        .bss a,4                ;定义一个数组
        .bss x,4                ;第二个数组
        .def start                ;定义一个可被别的模块找到的符号,作为程序入口
        .data                    ;开始放入数据
table    .word    1,2,9,4    ;数据修改了一下,主要看能不能跳转
        .word    5,6,9,8
        .text                    ;数据定义完毕,开始程序代码
start:    STM    #0,SWWSR
        STM #STACK+10H,SP        ;堆栈指针
        STM #a,AR1
        RPT #7                    ;重复7次?放入4个word类型数据?
        MVPD table,*AR1+
        STM    #a,AR1
        STM    #x,AR2
        STM #2,AR3
        LD    *AR1+,T
        MPY    *AR2+,A
loop1:    LD    *AR1+,T           ;这里做循环玩
        MPY    *AR2+,B
        MAX    A
        BANZ    loop1,*AR3-
end:    B    end
    .end                      ;程序结束

CMD文件:
Debug\ex43.obj
-o Debug\ex43.out
-m Debug\ex43.map
-e start        ;程序入口

MEMORY
{
    PAGE 0:
        EPROM:org = 0E00H,len = 100H
    PAGE 1:
        SPRAM:org = 0060H,len = 20H
        DARAM:org = 0080H,len = 100H
}

SECTIONS
{
    .text    :>EPROM PAGE 0
    .data    :>EPROM PAGE 0
    .bss    :>SPRAM PAGE 1
    STACK    :>DARAM PAGE 1
}

工程代码如下,CCS3.3打开
ex43.rar

再次感谢老王的书。。。。。。。。。。。

共11条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]