第一范文网 - 专业文章范例文档资料分享平台

附录 TMS320C54X汇编语言指令系统

来源:用户分享 时间:2025/5/29 3:07:58 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

指令系统

TMS320C54x指令系统共有指令130条,由于操作数的寻址方式不同,派生至205条。按指令的功能,可以将C54x指令系统分成4类:算术运算指令、逻辑运算指令、程序控制指令、加载和存储指令。下面分别对各类指令进行介绍。

Ⅰ、算术运算指令

算术运算指令分为加法指令(ADD),减法指令(SUB),乘法指令(MPY),乘加指令(MAC),乘减指令(MAS),双数/双精度指令(DADD,DSUB)和特殊操作指令(ABDST,SQDST)。

1.加法指令

加法指令共有13条,如表1.1.1所示。

表1.1.1 加法指令

语 法 ADD Smem,src ADD Smem ,TS ,src ADD Smem ,16,scr[,dst] 表达式 src=src+Smem src=src+Smem<

整数分有符号数和无符号数两种格式,表示有符号数时,其最高位表示符号,最高位为0表示其为正数,1表示为负数;无符号数其最高位仍做为数值位计算。例如,有符号数能够表示的最大的正数为07FFFh,等于32767,而0FFFFH表示最大的负数–1;无符号数不能表示负数,它能够表示的最大的数为0FFFFh,等于十进制数的65535。

小数符号和上面整数的表示一样,但必须注意如何安排小数点的位置。

1

2.减法指令

减法指令共有13条,见表1.1.2所示。

表1.1.2 减法指令

语 法 SUB Smem , src SUB Smem ,TS ,src SUB Smem ,16,scr[,dst] SUB Smem[,SHIFT],src[,dst] SUB Xmem ,SHFT,src SUB Xmem,Ymem,dst SUB #lk[,SHFT],src[,dst] SUB #lk,16,src[,dst] SUB src,[,SHIFT][,dst] SUB src,ASM[,dst] SUBB Smem,src SUBC Smem,src 表达式 src=src-Smem src=src-Smem<

乘法指令共有10条,见表1.1.3。

表1.1.3乘法指令

语 法 MPY Smem,dst MPYR Smem,dst MPY Xmem,Ymem,dst 表达式 dst=T*Smem dst=rnd(T*Smem) dst=Xmem*Ymem,T=Xmem 说 明 T寄存器值与操作数相乘 T寄存器值与操作数相乘(带舍入) 两个操作数相乘 字长 1 1 1 周期数 1 1 1

2

续表

语 法 MPY Smem,#lk,dst MPY #1k,dst MPYA dst MPYA Smem MPYU Smem ,dst SQUR Smem,dst SQUR A,dst 表达式 dst=Smem*#lk,T=Smem dst=T*#lk dst=T*A(32~16) B=Smem*A(32~16),T=Smem dst=uns(T)*uns(Smem) dst=Smem*Smem,T=Smem dst=A(32~16)*A(32~16) 说 明 长立即数与操作数相乘 长立即数与T寄存器值相乘 T寄存器与累加器A高位相乘 操作数与累加器A高位相乘 无符号数乘法 操作数的平方 累加器A高位的平方 字长 2 2 1 1 1 1 1 周期数 2 2 1 1 1 1 1 4.乘加和乘减指令

乘加和乘减指令共有22条,见表1.1.4所示。

表1.1.4 乘加和乘减指令

语 法 MAC Smem,src MAC Xmem,Ymem,src[,dst] MAC #lk,src[,dst] MAC Smem,#lk,src[,dst] MACR Smem,src MACR Xmem,Ymem,src[,dst] MACA Smem[,B] MACA T,src[,dst] MACAR Smem[,B] MACAR T,src[,dst] MACD Smem,pmad,src 表达式 src=src+T*Smem dst=src+Xmem*Ymem T=Xmem dst=src+T*#lk dst=src+Smem*#lk T=Smem dst=rnd(src+T*Smem) dst=rnd(src+Xmem*Ymem) T=Xmem B=B+Smem*A(32~16) T=Xmem dst=src+T*A(32~16) B=rnd(B+Smem*A(32~16)) T=Smem dst=rnd(src+T*A(32~16)) src=src+Smem*pmad T=Smem,(Smem+1)=Smem 说 明 操作数与T寄存器值相乘后加至累加器 两个操作数相乘后加至累加器 长立即数与T寄存器值相乘后加至累加器 长立即数与操作数相乘后加至累加器 操作数与T寄存器值相乘后加至累加器(带舍入) 两个操作数相乘后加至累加器(带舍入) 操作数与累加器A高位相乘后加至累加器B T寄存器值与累加器A高位相乘 T值与累加器A高位相乘后加至累加B(带舍入) A高位与T值相乘后与源累加器相加(带舍入) 操作数与程序存储器值相乘后累加并延迟 字周期长 数 1 1 2 2 1 1 1 1 1 1 2 1 1 2 2 1 1 1 1 1 1 3

3

续表

语 法 MACP Smem,pmad,src MACSU Xmem,Ymem,src MAS Smem,src MASR Xmem,Ymem,src[,dst] MAS Xmem,Ymem,src[,dst] MASR Smem ,src MASA Smem[,B] MASA T,src[,dst] MASAR T,src[,dst] SQURA Smem ,src SQURS Smem ,src 表达式 Src=src+Smem * pmad T=Smem src=src+uns(Xmem) * Ymem T=Xmem src=src-T * Smem dst=rnd(src-Xmem * Ymem) T=Xmem dst=src-Xmem * Ymem T=Xmem src=rnd(src-T * Smem) B=B-Smem * A(32~16) T=Smem dst=src-T * A(32~16) dst=rnd(src-T * A(32~16)) src=src+Smem * Smem T=Smem src=src-Smem * Smem T=Smem 说 明 操作数与程序存储器值相乘后加至累加器 无符号数与有符号数相乘后加至累加器 从累加器中减去T寄存器值与操作数的乘积 从累加器中减去两操作数的乘积(带舍入) 从源累加器中减去两操作数的乘积 从累加器中减去T值与操作数的乘积(带舍入) 从累加器B中减去操作数与累加器A高位的乘积 从源累加器中减去T寄存器值与累加器A高位乘积 从源中减去T寄存器值与累加器A高位乘积(带舍入) 操作数平方并累加 从累加器中减去操作数的平方 字周期长 数 2 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 5.双操作数指令

双操作数指令共有6条,见表1.1.5所示。

表1.1.5双操作数指令

语 法 表达式 说 明 字长 1 周期数 1 DADD Lmem,src[,dst] if C16=0 ,dst=Lmem+src 双精度/双16位数if C16=1 加至累加器 dst(39~16)=Lmem(31~16)+src(31~16) dst(15~0)=Lmem(150)+src(15~0) if C16=0,dst=Lmem+(T<<16+T) if C16=1 dst(39~16)=Lmem(31~16)+T dst(15~0)=Lmem(15~0)-T 双精度/双16位数与T寄存器值相加/减 DADST Lmem,dst 1 1

4

搜索更多关于: 附录 TMS320C54X汇编语言指令系统 的文档
附录 TMS320C54X汇编语言指令系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6cge1265gt4i6jo0x0g6_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top