一个简单的MIPS-常见MIPS指令
2024-01-09 16:33:29
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 寄存器中。SLLV
、SRLV
、SRAV
:分别表示逻辑左移、逻辑右移和算术右移,移动的位数由寄存器 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)。每个字段都有特定的位数和位置,这些位组合起来定义了指令的操作和操作数。
文章来源:https://blog.csdn.net/weixin_46160781/article/details/135482690
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!