加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

or1200处理器的数据处理类指令说明

发布时间:2020-12-14 03:39:22 所属栏目:大数据 来源:网络整理
导读:以下内容摘自《步步惊芯——软核处理器内部设计分析》一书 ? ? ? 在笔者的分类中,数据处理类指令有48条。表4.1给出了OR1200中实现的所有算术处理类指令及其说明。 ? ? ? 笔者将OR1200的数据处理类指令再细分为如下类别: ? 比较指令 l.sfeq、l.sfeqi、l.sfg

以下内容摘自《步步惊芯——软核处理器内部设计分析》一书


? ? ? 在笔者的分类中,数据处理类指令有48条。表4.1给出了OR1200中实现的所有算术处理类指令及其说明。




? ? ? 笔者将OR1200的数据处理类指令再细分为如下类别:

  • ? 比较指令

l.sfeq、l.sfeqi、l.sfges、l.sfgesi、l.sfgeu、l.sfgeui、l.sfgts、l.sfgtsi、l.sfgtu、l.sfgtui、l.sfleu、l.sfleui、l.sfles、l.sflesi、l.sflts、l.sfltsi、l.sfltu、l.sfltui、l.sfne、l.sfnei

  • ? 移位指令

l.rori、l.sll、l.slli、l.sra、l.srai、l.srl、l.srli

  • ? 逻辑运算指令

l.and、l.andi、l.or、l.ori、l.xor、l.xori

  • ? 算术运算指令

l.add、l.addc、l.addi、l.addic、l.sub

  • ? 数据传送指令

l.movhi、l.cmov、l.extbs、l.extbz、l.exths、l.exthz、l.extws、l.extwz

  • ? 其余指令

l.ff1、l.fl1

? ? ? 上述指令助记符也是很好理解的,比如有很多的比较指令,这些指令的助记符都是以“l.sf”开始,其中“l.”表示指令是基本指令集ORBIS32中的指令,“sf”代表“set flag”,因为比较指令都要通过设置SR寄存器的F位以表示比较结果,比较指令助记符的最后一个或两个字母有如下几种情况:

  • ? 如果指令助记符的最后是“i”(immediate),则表示是与立即数比较
  • ? 如果指令助记符的最后一位是“s”(signed),则表示作为符号数比较
  • ? 如果指令助记符的最后是“si”,则表示指令中含有立即数,该立即数符号扩展后作为符号数比较
  • ? 如果指令助记符的最后一位是“u”(unsigned),则表示作为无符号数比较
  • ? 如果指令助记符的最后是“ui”,则表示指令中含有立即数,该立即数符号扩展后作为无符号数比较

? ? ? 这样理解就很好记忆了。这里对表4.1中出现的16位立即数扩展做一说明,16位立即数扩展包含两种情况:16位立即数符号扩展、16位立即数无符号扩展。两者都是将16位立即数扩展为32位,符号扩展是将16位立即数的最高位复制到扩展后的32位数据的高16位,无符号扩展则是将扩展后的32位数据的高16位都置为0。如表4.2所示。


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读