汇编程序设计举例课件

上传人:我*** 文档编号:144698695 上传时间:2020-09-13 格式:PPT 页数:57 大小:788KB
返回 下载 相关 举报
汇编程序设计举例课件_第1页
第1页 / 共57页
汇编程序设计举例课件_第2页
第2页 / 共57页
汇编程序设计举例课件_第3页
第3页 / 共57页
汇编程序设计举例课件_第4页
第4页 / 共57页
汇编程序设计举例课件_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《汇编程序设计举例课件》由会员分享,可在线阅读,更多相关《汇编程序设计举例课件(57页珍藏版)》请在金锄头文库上搜索。

1、1,第6章 TMS320C54XXDSP 汇编程序设计举例,2,例7-3(段定义及数据传送举例),1.实现数组a20=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 x20=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1的初始化, 将两数组置于数据存储器中0100H开始的连续地址空间中(0100H-0127H); 2.将数据存储器中的x20复制到数组y20(0128H-013BH); 3.将数据存储器中的a20写入到程序存储器PROM(2000H-2013H); 4.程序存储器PROM中20个数据存入数据存储器DA

2、TA(0200H-0213H)。,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: .usectDATA,20,汇编源程序:,4,_c_int00 b start nop nop start:STM #a,AR1;a20=0,1,2,3,

3、4,5,6,7,8,9,10, ;11,12,13,14,15,16,17,18,19 RPT #39 ;x20=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;将数据存储器中的数组x20复制到数组y20 STM #y,AR3 ; y20=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,.text,5,STM #a,AR1 ;数据存储器中a20写入程序存储器 LD #PROM,A ; PROM段 ST

4、M #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,6,链接命令文件: MEMORY PAGE 0:RAM: origin=1000h,length=800h RAM1: origin=2000h,length=300h PAG

5、E 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 ,7,定点DSP中数的定标有Q和S两种表示方法(如下表所示), 16位的二进制中有一个符号位、15-Q个整数位.Q个小数位。,DSP 中小数的表示,一般情况下以Q0格式表示整数以Q15格式表示小数。,两个Q15格式的小数相乘结果为Q30格式小数,出现符号

6、位冗余,解决方法是将FRCT置1,系统自动将相乘结果左移1位(即x2),精度允许时只保存高16位,Q15定标:,8,例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,例7-4 (整数、小数运算举例),9,汇编源程序: .title “suanshu.asm” .mmregs .def start,_c_int00 .bss x1,1 ;地址 0400h .bss x2,1 ;地址 0401h .bss y1,1 ;地址 0402h .bss y2,

7、1 ;地址 0403h .bss z1,1 ;地址 0404h .bss z2,1 ;地址 0405h .bss z3_h,1 ;地址 0406h .bss z3_l,1 ;地址 0407h .bss z4,1 ;地址 0408h v1 .set 014H v2 .set 036H v3 .set 04000H ;x2= 0.5 v4 .set 0b548H ;y2=- 0.5837 .text _c_int00 b start nop nop start: LD #x1,DP ;(DP=?),ST #v1,x1 ST #v2,y1 LD x1,A ADD y1,A STL A,z1 ;(单元

8、地址?) NOP LD x1,A SUB y1,A STL A,z2 ; (单元地址?) NOP RSBX FRCT LD x1,T MPY y1,A STH A,z3_h ; (单元地址?) STL A,z3_l ; (单元地址?) NOP ST #v3,x2 ST #v4,y2 SSBX FRCT LD x2,16,A MPYA y2 STH B,z4 ; (单元地址?) NOP end: B end .end,例7-4 (数据运算举例),10,链接命令文件: suanshu.obj -m suanshu.map -o suanshu.out MEMORY PAGE 0: ROM1: or

9、igin=0080h,length=1000h ROM2: origin=0060h,length=10h PAGE 1: OTHER: origin=0400h,length=40h SECTIONS .text : ROM1 PAGE 0 .data : ROM1 PAGE 0 .bss : OTHER PAGE 1 .stack : OTHER PAGE 1 ,11,例7-5 (小数乘法举例 ) 汇编源程序: .title “chef.asm” .mmregs .def start,_c_int00 .bss x,4 .bss a,4 .bss y,1 .data table: .wor

10、d 1*32768/10 .word 2*32768/10 .word -3*32768/10 .word 4*32768/10 .word 8*32768/10 .word 6*32768/10 .word -4*32768/10 .word -2*32768/10,.text _c_int00 b start nop nop start: SSBX FRCT STM #0,SWWSR STM #x,AR1 RPT #7 MVPD table,*AR1+ STM #x,AR2 STM #a,AR3 STM #y,AR4 RPTZ A,#3 MAC *AR2+,*AR3+,A STH A,*A

11、R4 done: B done .end,12,链接命令文件: 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 ,13,例7-6 (带符号除法且商

12、为小数) 汇编源程序:,.title “shuf.asm” .mmregs .def start, _c_int00 .bss num,1 .bss den,1 .bss quot,1 .data table .word 4*32768/10 ;分子 .word -8*32768/10 ;分母 .text _c_int00 b start nop nop start: STM #num,AR1 ;分子,RPT #1 MVPD table,*AR1+ STM #den,AR1 ;分母 LD *AR1-,16,A MPYA *AR1+ ABS A ;分母绝对值 STH A,*AR1- LD *AR

13、1,16,A ABS A ;分子绝对值 STH A,*AR1 LD *AR1+,A RPT #14 ;(15bit除法) SUBC *AR1,A XC 1,BLT NEG A STL A,*(quot) .end,14,. .mmregs .bss x, 4 .bss y, 2 .data a.word 1, 2, 3, 4 .text STM #a, AR2 STM #x, AR3 LD #0, A LD *AR2+,T MAC *AR3+,A LD *AR2+,T,MAC *AR3+,A LD *AR2+,T MAC *AR3+,A LD *AR2,T MAC *AR3,A STL A,y

14、 STH A,y+1 .,算法一:,举例1: 乘加运算,15,链接命令文件: MEMORY PAGE 0:RAM: origin=1000h,length=1000h PAGE 1:DARAM: origin=2000h,length=1000h SECTIONS .text :RAM PAGE 0 .bss :DARAM PAGE 1 .data :DARAM PAGE 1 ,16,. .mmregs .bss x, 4 .bss y, 2 .data a.word 1, 2, 3, 4 .text STM #a, AR2 STM #x, AR3 LD #0, A STM #3,BRC,RP

15、TB ss-1 LD *AR2+,T MAC *AR3+,A ss: STL A,y STH A,y+1 .,算法二:,举例1: 乘加运算,17,. .mmregs .bss a, 4 .bss x, 4 .bss y, 2 .data table.word 1, 2, 3, 4 .text STM #a, AR1 RPT #3 MVPD table,*AR1+ LD #0,A,STM #a, AR2 STM #x, AR3 STM #3,BRC RPTB ss-1 LD *AR2+,T MPY *AR3+,A ss:LD #a, DP STL A,y STH A,y+1 .,算法三:,举例1: 乘加运算,18,链接命令文件: MEMORY PAGE 0:RAM: origin=1000h,length=1000h PAGE 1:DARAM: origin=2000h,length=1000h SECTIONS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号