[信息与通信]第5章 C54x的汇编语言程序设计a.pptVIP

  • 2
  • 0
  • 约2.05万字
  • 约 69页
  • 2018-03-01 发布于浙江
  • 举报

[信息与通信]第5章 C54x的汇编语言程序设计a.ppt

[信息与通信]第5章 C54x的汇编语言程序设计a

2003.2.16 DSP原理及应用 第5章 TMS320C54x汇编语言程序设计 2. 定点数转换成浮点数 例如:NORM A 执行前: A=FF FFFF F001 T=0013 (19) A=1111……111111111000000000001 28 左移19位1000 0000 0000 1000…… 执行后: A=FF 8008 0000 T=0013 (19) 又如: NORM B,A 执行前: A=FF FFFF F001 B=21 0A0A 0A0A T=FFF9(-7) B右移7位送入A A=00 4214 1414 执行后: A=00 4214 1414 B=21 0A0A 0A0A T=FFF9(-7) 第5章 TMS320C54x汇编语言程序设计 5.8 浮点运算程序 3.浮点数转换成定点数 定点数→浮点数: 根据定点数,求其尾数和指数,然后将尾数按指数T进行移位。 当T0,A左移T位;当T0,A右移T位。 浮点数→定点数: 根据指数T,将尾数进行移位。 当T0,A右移T位;当T0,A左移T位。 第5章 TMS320C54x汇编语言程序设计 5.8 浮点运算程序 4.浮点乘法运算实例 实现浮点乘法运算时,首先将定点数规格化成浮点数;然后完成浮点乘法运算;最后将浮点数转换成定点数。 【例5.8.1】编写浮点乘法程序,完成a1×a2=0.4×(-0.9) 程序中保留10个数据存储单元: a1(被乘数) a2(乘数) b1(被乘数的指数) c1(被乘数的尾数) b2(乘数的指数) c2(乘数的尾数) ep(乘积的指数) mp(乘积的尾数) prod(乘积) temp(暂存单元) 第5章 TMS320C54x汇编语言程序设计 4.浮点乘法运算实例 数据存储器 被乘数 乘数 被乘数的指数 被乘数的尾数 乘数的指数 乘数的尾数 乘积的指数 乘积的尾数 乘积 暂存单元 程序清单: .title “float.asm” .def start STACK:.usect “STACK”,100 .bss a1,1 .bss a2,1 .bss b1,1 .bss c1,1 .bss b2,1 .bss c2,1 .bss ep,1 .bss mp,1 .bss prod,1 .bss temp,1 .title “float.asm” .def start STACK:.usect “STACK”,100 .bss a1,1 a1 .bss a2,1 a2 .bss b1,1 b1 .bss c1,1 c1 .bss b2,1 b2 .bss c2,1 c2 .bss ep,1 ep .bss mp,1 mp .bss prod,1 prod .bss temp,1 temp 第5章 TMS320C54x汇编语言程序设计 …… 暂存单元 temp 乘积 prod 乘积的尾数 mp 乘积的指数 ep 乘数的尾数 c2 乘数的指数 b2 被乘数的尾数 c1 被乘数的指数 b1 乘数 a2 被乘数 a1 数据存储器 table: .word 4*32768/10 table 0.4 .word -9*32768/10 -0.9 .text start:STM #SATACK+100,SP MVPD table,@a1 MVPD table+1,@a2 LD @a1,16,A EXP A ST T,@b1 NORM A STH A,@c1 LD @a2,16,A EXP A ST T,@b2 NORM A STH A,@c2 CALL MULT done: B done ;设堆栈指针 ;将a1和a2送入RAM 8CCD ;将a1转换为浮点数 ;将a1送入AH 3333

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档