[工学]第四章_TMS320C54x的软件开发_3.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第四章_TMS320C54x的软件开发_3

第4章 TMS320C54x的软件开发 作业 P130-131: 1,6,9,10 LD A, -16,A ;A右移16位,A高位→A低位 MACSU *AR2+, *AR3-, A ;A+=y1×x0(S×U) MACSU *AR3+, *AR2, A ;A+=x1×y0(S×U) STL A, @w1 ;w1=A LD A, -16, A ;A右移16位,A高位→A低位 MAC *AR3,*AR2, A ;A+=x1×y1(S×S) STL A, @w2 ;w2=A的低16位 STH A, @w3 ;w3=A的高16位 End: B end .end 结果W1=0A00h 编写计算W64=X32×Y32的程序 给程序设置新的测试数据: .word 0x1170,0x0001,0xFFFD,0xFFFF ; x=7000,y=-3 执行结果: W3=FFFF,W2=FFFF,W1=FFFC,W0=CBB0 FFFF,FFFF,FFFC,CBB0是-21000的补码表示 测试结果: 乘数:S U 、结果: S U U U规定为32bit,64bit整数的补码表示 3. 小数运算 两个16位整数相乘:乘积总是“向左增长”。这意味着多次相乘后乘积将会很快超出定点器件的数据范围。 两个小数相乘:乘积总是“向右增长”。这就意味着超出定点器件数据范围的将是不太感兴趣的部分。 1) 小数的表示方法 采用2的补码表示小数:最高位为符号位,数值范围从-1~+1(Q15格式)。 MSB … LSB 0/1(符号位) . 2-1 2-2 … 2-15 如: 0100,0000,0000,0000B=4000H=0.5 0110,0000,0000,0000B=6000H=0.75 十进制小数的2的补码表示:由十进制小数乘以32768后,再将其整数部分转换成十六进制。 如: -0.5: |-0.5|×32768 再求反+1 |-0.5|×32768 =0100,0000,0000,0000 1011,1111,1111,1111 + 1 1100,0000,0000,0000 汇编语言程序中,十进制小数的表示: 小数0.123 .Word 32768*123/1000 例:0.5*-0.375 0.5=0100B -0.375=~(0011B)+1=1100+1=1101B 0100 1101 0100 0000 0100 1100 1110100 (-0.1875的补码) -0.1875 =~(00011B+1) =11100+1 =11101 这个结果送入累加器前,必须进行符号位扩展,结果为:2) 小数乘法中的冗余符号位 问题:两个带符号小数相乘,将出现得到的积带有两位符号位。 解决冗余符号位的办法:在程序中设定状态寄存器ST1中的FRCT(小数方式)位为1,在乘法器将结果传送至累加器时就能自动地左移1位,消去了两个带符号数相乘时产生的冗余符号位。 小数乘法编程时:应当先设置FRCT位: SSBX FRCT MPY *AR2,*AR3,A STH A, @Z 【例4.19】 编制计算 的程序段,其中数据均为小数。 .title “exp19.asm” .mmregs STACK .usect “STACK”,10H .bss a, 4 .bss x, 4 .bss y, 1

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档