文档详情

【2017年整理】DSP汇编程序设计举例.ppt

发布:2017-06-06约1.98万字共58页下载文档
文本预览下载声明
《DSP技术与应用》;第6章 TMS320C54XXDSP 汇编程序设计举例 ;例7-3(段定义及数据传送举例) ; .mmregs .def _c_int00 .data TBL:.word:0,1,2,3,4,5,6,7,8,9,10,11,12 .word 13,14,15,16,1 7,18,19 .word 1,1,1,1,1,1,1,1,1,1 .word 1,1,1,1,1,1,1,1,1,1 PROM: .usect PROM,20 .bss a,20 .bss x,20 .bss y,20 DATA: .usect DATA,20 ;_c_int00 b start nop nop start:STM #a,AR1;a[20]={0,1,2,3,4,5,6,7,8,9,10, ;11,12,13,14,15,16,17,18,19} RPT #39 ;x[20]={1,1,1,1,1,1,1,1,1,1 MVPD TBL,*AR1+ ;1,1,1,1,1,1,1,1,1,1} ;完成任务1 STM #x,AR2;将数据存储器中的数组x[20]复制到数组y[20] STM #y,AR3 ; y[20]={1,1,1,1,1,1,1,1,1,1 RPT #19 ;1,1,1,1,1,1,1,1,1,1} MVDD *AR2+,*AR3+ ;完成任务2; STM #a,AR1 ;数据存储器中a[20]写入程序存储器 LD #PROM,A ; PROM段 STM #19,AR3 LOOP1: WRITA *AR1+ ;完成任务3 ADD #1,A,A BANZ LOOP1,*AR3- LD #PROM-1,A ;程序存储器PROM中20个数据存入数据 STM #DATA,AR1 ;存储器DATA段 ST #19,BRC RPTB LOOP2 ADD #1,A,A LOOP2: READA *AR1+ ;该指令为单字指令(完成任务4) WAIT: NOP B WAIT .end;链接命令文件: MEMORY {PAGE 0: RAM: origin=1000h,length=800h RAM1: origin=2000h,length=300h PAGE 1:DARAM1: origin=0100h,length=100h DARAM2: origin=0200h,length=100h } SECTIONS { .data :RAM PAGE 0 .text :RAM PAGE 0 PROM :RAM1 PAGE 0 .bss :DARAM1 PAGE 1 DATA :DARAM2 PAGE 1 } ;定点DSP中数的定标有Q和S两种表示方法(如下表所示), 16位的二进制中有一个符号位、15-Q个整数位.Q个小数位。;[例7-4]使用C54汇编语言编程计算并观察计算结果: z1=x1+y1; z2=x1-y1; z3=x1*y1; z4=x2*y2. 其中,x1=20,y1=54,x2=0.5,y2=-0.5837; 汇编源程序: .title “suanshu.asm” .mmregs .def start,_c_int00 .bss x1,1 ;地址 0400h .bss x2,1 ;地址 0401h .bss y1,1 ;地址 0402h .bss y2,1 ;地址 0403h .bss z1,1 ;地址 0404h .bss z2,1 ;地址 0405h
显示全部
相似文档