收藏 分销(赏)

C64X特有的汇编指令集.doc

上传人:pc****0 文档编号:7784044 上传时间:2025-01-16 格式:DOC 页数:3 大小:134.50KB 下载积分:10 金币
下载 相关 举报
C64X特有的汇编指令集.doc_第1页
第1页 / 共3页
C64X特有的汇编指令集.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
新闻出处:DSP信息网 发布时间: 2007-11-15 C64X特有的汇编指令集 ABS2  src2,dst .L 对src2的高、低半字的2 个有符号16位数取绝对值,有饱和 ADDAD  src2,src1,dst ..D 使用双字寻址模式的整数加法 ADD2  src1,src2,dst .L.S.D src1和src2的高低半字分别做有符号加法 ADD4  src1,src2,dst .L Src1和src2的4 个字节分别做有符号加法 ADDKPC  src1,src2,dst .S2 7位有符号常数src1左移2位,然后加到饱和ADDKPC指令的取指包第1条指令地址(PCE1);3位无符号常数src2指定插入的空操作NOP数。 AND  src1,src2,dst .L.S.D   ANDN  src1,src2,dst .L.S.D 先将src2取反,再和src1按位“与” AVG2  src1,src2,dst .M 分别求src1和src2高、低半字的平均值,向上取整,结果置入dst AVGU4  src1,src2,dst .M 分别求src1和src2的4个无符号字节的平均值,向上取整。 BDEC  scst10,dst .S 当dst>=0时,将dst内容减1并执行相对转移,转移地址为BDEC指令所在的取指包第一条指令地址(PCE1)与scst10(10位有符号数)左移2位后相加的和。如dst<0,无操作。 BITC4  src2,dst .M 将src2的4个字节内的“1”的个数记入dst的相应字节。 BITR  src2,dst .M 位反转指令,将src2按位序(31~0)反转送到dst的位(31~0) BNOP  src2,src1 注:src2为12为有符号数scst12 ..S2 执行绝对转移,转移地址位BNOP指令所在的取指包第1条指令地址(PCE1)与12位有符号数src2左移2位后相加的和。Src1指定插入的空操作数NOP数(0~5) BNOP  src2,src1 注:src2为寄存器 .S2 执行绝对转移,转移地址由src2的内容决定。Src1指定插入的空操作数NOP数(0~5) BPOS  scst10,dst .S 与BDEC内容相似,差别仅在与dst内容不变 CMPEQ2  src1,src2,dst .S 分别比较src1和src2高低半字,若高半字相等则dst的bit 1置1,否则置0;同样,低半字的比较结果置dst的bit 0为1或0 CMPEQ4  src1,src2,dst .S 分别比较src1和src2的4个字节,比较结果置dst的bit 3~bit 0位为1或0 CMPGT2  src1,src2,dst .S   分别比较src1和src2高低半字,若src1高半字>src2高半字,则dst的bit 1位置1,否则置0;通样,低位半字的比较结果置dst的bit 0位为1或0 CMPGTU4  src1,src2,dst .S   分别比较src1和src2的4个字节,若src1最高字节>src2最高字节,则dst的bit3置1,否则置0;同样,其他3个字节的比较结果置dst的bit 2位~bit 0位为1或0 CMPLT2  src2,src1,dst .S 分别比较src2和src1的高低半字,若src2高半字<src1高半字,则dst的bit 1置1,否则置0;同样,低位半字结果置dst的bit 0位为1或0 CMPLTU4  src2,src1,dst .S   分别比较src2和src1的4个字节(无符号数),若src1最高字节<src2最高字节,则dst的bit 3置1,否则置0;同样,其他3个字节的比较结果置dst的bit 2位~bit 0位为1或0 DEAL  src2,dst .M 提取src2的奇数及偶数位,组成dst的高、低半字 DOTP2  src1,src2,dst .M   2个16位与16位数的点积和指令,src1与src2中高低对应的半字相乘,再求和。Dst为64位长型量时,高位为符号扩展。Dst为32位整型量时 ,取64位点积的低32位。 DOTPN2  src1,src2,dst .M  2个16位与16位乘积之差指令,src1与src2中高半字的积减去低半字的积 ,差值送dst DOTPNRSU2  src1,src2,dst .M 带求反、移位及四舍五入的点积指令。Src1(有符号数)和src2(无符号数)高半字的积减去低半字的积 ;差值加8000h后右移16位,结果置入dst DOTPRSU2  src1,src2,dst .M 与DOTPNRSU2类似,Src1(有符号数)和src2(无符号数)高半字的积加低半字的积 ;和数加8000h后右移16位,结果置入dst DOTPRUS2  src2,src1,dst .M 与上一行DOTPRSU2指令差别仅仅是:src1(有符号数)和src2(无符号数)在指令的位置不同。 DOTPSU4  src1,src2,dst .M   先求src1(有符号数)与src2(无符号数)4个字节对应的积,再相加 ,和数送入dst。 DOTPU4  src1,src2,dst .M   与上一行指令的差别仅仅是:src1和src2都是无符号数,和数也是无符号数。 GMPY4  src1,src2,dst .M 做4个字节的Galois域乘法。 LDDW  *+baser[offsetR],dst LDDW  *+baseR[ucst5],dst .D   从内存读取64位双精度到寄存器,偏移地址可以放在寄存器中,也可以是5位常数。 LDNDW  *mem,dst LDNW  *mem,dst .D 无边界调整的内存读取,1次读64位 无边界调整的内存读取,1次读32位 MAX2  src1,src2,dst .L 分别比较有符号数src1和src2的高低半字,取其中的大数送到dst的相应位置 MAXU4  src1,src2,dst .L 分别比较有符号数src1和src2的4个无符号字节,取其中的大数送到dst的相应位置 MIN2  src1,src2,dst .L   分别比较有符号数src1和src2的高低半字,取其中的小数送到dst的相应位置 MINU4  src1,src2,dst .L   分别比较有符号数src1和src2的4个无符号字节,取其中的小数送到dst的相应位置 MPY2  src1,src2,dst .M   2个源操作数的高低有符号半字,对应相乘;目的操作数是64位的双字,低位字存放低半字的积,高位字存放高半字的积。 MPYHI  src1,src2,dst .M   Src1的高半字与src2的32位做乘法,结果是64有符号数,存入1对寄存器。 MPYHIR  src1,src2,dst .M   16位与32位带舍入的乘法:src1的高半字与src2的32位做乘法,乘积加4000h后右移15位,结果的低32位存入dst MPYIH  src2,src1,dst .M   Src1的高半字与src2的32位做乘法,结果是64有符号数,存入1对寄存器(与MPYHI指令相比,只是src1和src2的位置不同)。 MPYIHR  src2,src1,dst .M   与MPYHIR相比 ,只是src1,src2位置不同。 MPYIL  src2,src1,dst .M   Src1的低半字与32位的src2做乘法,结果是64位的有符号数,存入1对寄存器。 MPYILR  src2,src1,dst .M   16位与32位的带舍入乘法:src1的低半字与32 位的src2做乘法,乘积加4000h后右移15位,结果的低32位存入dst MPYLI  src1,src2,dst .M 与MPYIL相比 ,只是src1、src2位置不同。 MPYLIR  src1,src2,dst .M 与MPYILR相比,只是src1、src2位置不同。 MPYSU4  src1,src2,dst .M   有符号src1与无符号src2的4个字节对应相乘,4个16位乘积依序存放到一对寄存器内 MPYUS4  src1,src2,dst .M 与MPYSU4的差别仅在于src1、src2位置不同 MPYU4  src1,src2,dst .M   无符号src1与无符号src2的4个字节对应相乘,4个16位乘积依序存放到一对寄存器内 MVD  src2,dst .M   通过功能单元.M把寄存器src2的内容送到寄存器dst,用时4个周期。 MVK  cst,dst .L.S.D 将常数cst写入dst低半字,符号扩展 MVKL  cst,dst .L.S.D   将常数cst或cst的低16位写入dst低半字,符号扩展。 OR  src1,src2,dst .L.S.D Src1和src2按位“或” PACK2  src1,src2,dst .L.S   将src1与suc2的低16位提取组成一个新的整型数,送dst PACKH2  src1,src2,dst .L.S 将src1与suc2的高16位提取组成一个新的整型数,送dst PACKH4  src1,src2,dst .L 将src1与suc2的低位字节提取组成一个新的整型数,送dst PACKHL2  src1,src2,dst .L.S   将src1高16位与src2的低16位提取组成一个新的整型数,送dst PACKL4  src1,src2,dst .L   将src1及src2偶位字节提取组成一个新的整型数,送dst PACKLH2  src1,src2,dst .L.S   将src1的低16位与src2的高16位提取组成一个新的整型数,送dst POTL  src2,src1,dst .M   将src2旋转左移,无符号数src1的最低5位指定旋转左移位数。 SADD  src1,src2,dst .S   Src1与src2高低半字分别做带饱和的加法,不影响SAT位。 SADDU4  src1,src2,dst .S   Src1与src2的4个字节对应做无符号带饱和加法 ,不影响SAT位 SADDSU2  src1,src2,dst .S   有符号数src1和无符号数src2的高低半字分别做带饱和加法,不影响SAT位 SADDUS2  src1,src2,dst .S   无符号数src1和有符号数src2的高低半字分别做带饱和加法,不影响SAT位 SHFL  src2,dst .M Src2的高半字与低半字按位顺序交插,形成新字送dst SHLMB  src1,src2,dst .L.S 左移并拼接:src2左移8位,再把src1的最高字节续为其最低字节,形成新字送dst SHR2  src2,src1,dst .S Src2的高低半字分别算术右移,有符号扩展,src1的低5位或ucst5确定移位次序。 SHRMB  src1,src2,dst .L.S 右移并拼接:src2右移8位,再把src1的最低字节续为其最高字节,形成新字送dst SHRU2  src2,src1,dst .S Src2的高低半字视作2个无符号数,分别算术右移,无符号扩展,src1的低5位或ucst5确定移位次数 SMPY2  src1,src2,dst .M Src1与src2高低半字对应相乘,结果为64位,其他同SMPY指令。 SPACKU4  src1,src2,dst .S 将src1及src2  4个有符号16位数有饱和低转为4个8位无符号数,送dst SSHVL  src2,src1,dst .M 带符号扩展、移位方向、长度可变的左移指令:src1为补码数,且绝对值不大于31。如src1为正,src2左移;如src1为负,src2带符号扩展地右移。移位中符号有变,取饱和值,并置SAT位为1。 SSHVR  src2,src1,dst .M 带符号扩展、移位方向、长度可变的右移指令:src1为补码数,且绝对值不大于31。如src1为正,src2带符号扩展右移;如src1为负,src2左移。移位中符号有变,取饱和值,并置SAT位为1。 STDW  src,*mem .D   STNDW  src,*mem .D   STNW  src,*mem .D   SUB2  src1,src2,dst .S.D Src1与src2的高低半字分别做有符号减法 SUB4  src1,src2,dst .L Src1与src2的4个字节分别做有符号减法,得数送入dst的对应字节 SUBABS4  src1,src2,dst .L Src1与src2的4个字节分别做无符号减法,将各个差值的绝对值送入dst SWAP2  src2,dst .L.S 将src2的高低半字交换,结果送dst SWAP4  src2,dst .L 将src2的高低半字的2个字节交换 ,结果送dst UNPKHU4  src2,dst .L.S 将src2高半字的2个字节分别送dst的byte 2、byte 0,其余2字节补0 UNPKLU4  src2,dst .L.S 将src2低半字的2个字节分别送dst的byte 2、byte 0,其余2字节补0
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服