MIPS汇编语言指令

寄存器

寄存器在MIPS体系结构中有32个通用寄存器,在汇编程序中可以用编号表示,$0~31 , 也 可 以 用 名 称 表 示 , 如31,也可以用名称表示,如31,也可以用名称表示,如sp,$t1。

编号名称说明
$0$zero零号寄存器,值恒等于0
$1$at保留寄存器,用于处理大的常数
$2 - $3$v0 - $v1保留表达式或函数返回结果
$4 - $7$a0 - $a3作为函数的前4个参数
$8-$15$t0 - $t7供汇编程序使用的临时寄存器
$16-$23$s0 - $s7子函数使用时需要先保存原寄存器的值
$24-$25$t8 - $9供汇编程序的临时寄存器,补充 t0-t7
$26-$27$k0 - $k1中断处理函数使用
28$gp全局指针
29$sp堆栈指针,指向堆栈的栈顶
30$fp保存栈指针
31$ra返回地址

指令集

指令集:一个给定的计算机体系结构所包含的指令集合

请添加图片描述

指令格式

MIPS指令集有三种指令格式:R型指令,I型指令,J型指令
在这里插入图片描述

R型指令

Op:指令操作码

Rs:第一个源操作数寄存器号,参与运算使用

Rt:第二个源操作数寄存器号,参与运算使用

Rd:目的操作数寄存器号,保存结果使用

Shamt:位偏移量,仅在位移指令使用,在此直接置0

Func:指令函数码,用于选择Op操作中的具体函数

I型指令

Op:指令操作码

Rs:第一个源操作数寄存器号,参与运算使用

Rt:第二个源操作数寄存器号,参与运算使用

16位立即数:作为数据,参与运算使用

注:立即数,顾名思义,就是可以立即使用的数,即在指令中就给了具体的数据,而不用先给出寄存器号到寄存器中去找。

J型指令

Op:指令操作码

26位地址数:作为地址,参与寻址使用

通常用于指令的跳转使用,后面的数据用于提供跳转地址

参考资料

  1. 《计算机组成与设计——硬件/软件接口》
  2. https://blog.csdn.net/SundayO/article/details/101108385
  3. https://blog.csdn.net/weixin_45792450/article/details/109557734
  • 1
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼桨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值