B,@y
B,@y+1
MPY *AR2+,A
Loopl LD *AR1+,T
MPY *AR2+,B MAX A BANZ loopl,*AR37
第六章
汇编语言程序设计
四、重复操作 ’ C54x有3条重复操作指令:RPT(重复下一条 指令)、RPTZ(累加器清0并重复下条指令)和 RPTB(块重复指令)。利用这些指令进行循环比 用BANZ指令要快得多。
m2 (乘数的尾数)
ep (乘积的指数) mp (乘积的尾数) product (乘积) temp (暂存单元)
31
第六章
汇编语言程序设计
“float.asm” start “STACK”,100 x1,1 x2,1 e1,1 m1,1 e2,1 m2,1 ep,1 mp,1 product,1 temp,1 3*32768/10 -8*32768/10 ST NORM STH CALL done: B MULT: SSBX SSBX LD ADD STL LD MPY EXP ST NORM STH #STACK+100,SP LD table,@x1 ADD table+1,@x2 STL @x1,16,A LD A LD T,@e1 NORM STH A,@m1 RET @x2,16,A .end A T,@e2
FRCT #x,AR1 #7 table,*AR1+ #x,AR2 #a,AR3 A,#3 *AR2+,*AR3+,A A,@y done
运行结果y=0x1EB7=0.24
26
第六章
汇编语言程序设计
十、浮点运算 在数字信号处理过程中,为了扩大数据的范围 和精度,往往需要采用浮点运算。’C54x虽然是个 定点DSP器件,但它支持浮点运算。 浮点数的表示方法