当前位置:   article > 正文

一个简单的MIPS-常见MIPS指令_mips addu

mips addu

ALU操作

这些指令用于执行算术和逻辑操作

  • ADDU(无符号加法):将寄存器 rs 和 rt 的内容相加,结果存储在 rd 寄存器中。
  • SUBU(无符号减法):从寄存器 rs 减去寄存器 rt 的内容,结果存储在 rd 寄存器中。
  • SLT(设置小于):如果寄存器 rs 的内容小于寄存器 rt 的内容,则 rd 寄存器设置为1,否则设置为0。
  • SLTU(无符号设置小于):类似 SLT,但比较是按无符号数进行的。
  • AND:对寄存器 rs 和 rt 的内容进行位与操作,结果存储在 rd 寄存器中。
  • OR:对寄存器 rs 和 rt 的内容进行位或操作,结果存储在 rd 寄存器中。
  • XOR:对寄存器 rs 和 rt 的内容进行位异或操作,结果存储在 rd 寄存器中。
  • NOR:对寄存器 rs 和 rt 的内容进行位或非操作,结果存储在 rd 寄存器中。
  • SLLVSRLVSRAV:分别表示逻辑左移、逻辑右移和算术右移,移动的位数由寄存器 rt 指定,源数据来自寄存器 rs,结果存储在 rd 寄存器中。

访存操作

  • LW(Load Word):从内存加载一个字到寄存器 rt 中,地址由基址寄存器 base 和偏移量 offset 确定。
  • SW(Store Word):将寄存器 rt 的内容存储到内存中,地址由基址寄存器 base 和偏移量 offset 确定。

分支操作

  • BEQ(Branch if Equal):如果寄存器 rs 和 rt 的内容相等,则跳转到指定的偏移量 offset 处。
  • BNE(Branch if Not Equal):如果寄存器 rs 和 rt 的内容不相等,则跳转到指定的偏移量 offset 处。
  • BLEZ(Branch if Less than or Equal to Zero):如果寄存器 rs 的内容小于或等于零,则跳转到指定的偏移量 offset 处。
  • BGTZ(Branch if Greater than Zero):如果寄存器 rs 的内容大于零,则跳转到指定的偏移量 offset 处。

这些指令的编码包括操作码(op)、寄存器指示(rs、rt、rd)、立即数(immediate)、基址(base)和偏移量(offset)。每个字段都有特定的位数和位置,这些位组合起来定义了指令的操作和操作数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/272092
推荐阅读
相关标签
  

闽ICP备14008679号