指令33.pptVIP

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令33

3.3 算术运算指令 1、累加器取绝对值: ABS 该指令将累加器的内容取绝对值后放回累加器,指令执行前后的内容均以二进制补码解释。 2、加至累加器 ADD dma[,shift];直接寻址 ADD ind[,shift[,ARn]];间接寻址 ADD dma,16;直接寻址并左移16位 ADD ind,16[,ARn];间接寻址并寻址16位 ADD # k;短立即寻址 ADD # lk,[,shift];长立即寻址 例3.61 ADD 1,1; 例3.62 ADD *+,0,AR0; 3、带进位位加至累加器: ADDC dma;直接寻址 ADDC ind[,ARn];间接寻址 该指令将被寻址数据存储器单元的内容及进位位值加到累加器,抑制符号扩展。 例3.64 ADDC DAT0;(DP=6) 例3.65 ADDC *--,AR4;(OVM=0) 4、抑制符号扩展加至累加器 ADDS dma;直接寻址 ADDS ind,[,ARn];间接寻址 该指令将指定的数据存储器单元内容加到累加器中,抑制符号扩展。 例3.66 ADDS 0;(DP=6) 例3.67 ADDS *; 5、按T寄存器内容移位后加至累加器: ADDT dma; ADDT ind,[,ARn]; 该指令将指定的数据存储器中的值左移后加到累加器中,其结果取代累加器原来的内容。左移量由TREG寄存器低4位决定,其值为0~15位。 例3.68 ADDT 127;(DP=4) 6、短立即数加至辅助寄存器: ADRK # k;短立即寻址 该指令将8位立即数值靠右对齐加到当前辅助寄存器(由当前ARP的值给定),其结果替代该辅助寄存器的内容。 加操作在ARAU中执行,且立即数值被作为8位正整数处理。在辅助寄存器上的所有算术运算都是无符号的。 例3.69 ADRK # 80h; 7、P寄存器加至累加器: APAC 该指令先将PREG寄存器中的内容按照ST1寄存器中的PM状态位所规定的值进行移位,然后加到累加器中。 例3.70 APAC;(PM=01) 8、乘且累加: MAC pma,dma;直接寻址 MAC pma,ind,[,ARn];间接寻址 MAC指令可一次完成多步操作,并可与重复计数器实现块的操作。基本功能是把程序存储器中的一串数与数据存储器中的一串(间接寻址)或一个(直接寻址)数分别相乘再累加。 例3.71 MAC 0FF00h,02h;(DP=6;PM=0;CNF=1) 9、乘且累加,其数据存储器的内容下移一步: MACD pma,dma;直接寻址 MACD pma,ind,[,ARn];间接寻址 该指令的操作与MAC基本类似,不同点只是要将当前数据存储器地址中的内容复制到地址加1的数据存储器中,即执行一次DMOV指令。 例3.72 MACD FF00h,08h;(DP=6;PM=0;) 10、乘 MPY dma;直接寻址 MPY ind,[,ARn];间接寻址 MPY # k;短立即寻址 操作数k为13位短立即数。 例3.73 MPY DAT13;(DP=8) 例3.74 MPY #031h; 11、乘且累加前次乘积: MPYA dma;直接寻址 MPYA ind,[,ARn];间接寻址 该指令将TREG寄存器内容和被寻址数据存储器单元的内容相乘,其结果装入PREG寄存器中。 然后将PREG寄存器中乘之前内容按PM状态位所定义的值进行移位,再加到累加器。 例3.75 MPYA DAT13;(DP=6;PM=0) 12、乘且减去前次乘积: MPYS dma;直接寻址 MPYS ind[,ARn];间接寻址 该指令将TREG寄存器内容和被寻址数据存储器单元的内容相乘,其结果装入PREG寄存器中。 然后将PREG寄存器中先前乘积按PM状态位定义的值进行移位,再从累加器中减去,最后结果放到累加器中。 例3.76 MPYS DAT13;(DP=6;PM=0) 13、无符号乘: MPYU dma;直接寻址 MPYU ind[,ARn];间接寻址 该指令将TREG寄存器的无符号数与被寻址数据单元中的无符号数相乘,其结果装入PREG寄存器中。 执行该指令时,乘法器的作用如同有符号的17*17位的乘法器,且这两个17位操作数的最高有效为都被强置为0。 例3.77 MPYU 16;(DP=4) 14、从当前辅助寄存器中减去立即数: SBRK # k;短立即寻址 该指令将当前辅助寄存器(ARP所规定的)减去靠右对齐的8位立即数值,其结果替换原有的辅助寄存器内容。 例3.58 SBRK #0FFh; 15、从累加器中减去P寄存器: SPAC 该指令将PREG寄存器中的内容按PM状态位所规定的值进行移位,然后从累加器的内容中减去,其结果存入累加器。 无论

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档