MIPS汇编语言指令

  • 寄存器
  • 指令集
  • 指令格式
    • R型指令
    • I型指令
    • J型指令

寄存器

寄存器在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

MIPS汇编语言指令相关推荐

  1. mips j指令_计算机组成原理 指令

    CPU 能处理的只有指令,我们写的程序归根结底就是指令,高级语言只有翻译成机器码,即计算机能够识别的指令,才能够被执行. 不同的 CPU 拥有不同的指令集,一般 PC 使用 Intel 的 CPU,i ...

  2. MIPS汇编语言学习笔记07:打印双精度浮点数

    课程原视频: https://www.bilibili.com/video/BV19J411y7pA?p=7 程序功能: 设定两个双精度浮点型数据,将其相加后打印输出. 代码: .datamyDoub ...

  3. MIPS汇编语言学习笔记11:整数减法 (mult方法)

    任务:整数相乘,并输出打印. 代码: .dataintA: .word 5intB: .word 2 .textli $v0, 1lw $a1, intAlw $a2, intBmult $a1, $ ...

  4. 8086汇编语言指令总结

    根据工作需要,从基础学起,设计一台嵌入式CISC模型计算机,稍后上传. 先总结下,汇编语言指令,如下 1. MOV(传送) 指令写法:MOV  target,source 功能描述:将源操作数sour ...

  5. [MIPS汇编语言]简单排序实现

    排序是程序语言的基础操作 通过排序练习可以提高对语言的掌握程度 汇编是可以说是最底层的语言了,学习汇编,可以提高对几乎所有语言的理解程度.(个人看法) 下面展示了用MIPS汇编语言实现的简单排序 (对 ...

  6. 8051系列单片机汇编语言指令速查表(汇编语言的111条指

    8051系列单片机汇编语言指令速查表(汇编语言的111条指_纳兰容若的左手_新浪博客 http://blog.sina.com.cn/s/blog_6486c0b30100gqew.html 编号 指 ...

  7. 汇编语言L0C,单片机汇编语言指令查表.doc

    单片机汇编语言指令查表 目的操作数汇编指令机器码功能机器周期字节数Amov A ,#data74H datadata传至A12Amov A,directE5H direct direct 传至A12A ...

  8. PE文件-CPU寄存器-栈-常用汇编语言指令-push-move-sub-lea-rep-xor

    文章目录 1.CPU寄存器 2.常用汇编指令 3.作者答疑   如果需要对恶意软件分析,或者修改现有可执行文件的功能,如果有软件的源代码,固然可以比较好的修改,如果没有,通过汇编指令的修改亦可做到.本 ...

  9. C语言转MIPS汇编语言的方法,将C程序转换为MIPS汇编语言程序

    我试图将C程序转换为MIPS汇编程序.以下是该程序我的C代码:(注:灯泡[数字]是用于由用户输入的"数量"初始化为全零个值的数组)将C程序转换为MIPS汇编语言程序 for(int ...

  10. MIPS汇编语言学习笔记23:if 语句分支指令

    C语言 #include<stdio.h> int main() {int i = 3;if (i < 5){printf("yes!\n");}else{pri ...

最新文章

  1. 搭建LAMP环境示例
  2. 复杂的xml转化为java实体
  3. DockOne微信分享( 九十):猎豹移动基于CoreOS在AWS上的项目实践
  4. 互联网时代的春节注意事项 PMcaff | 趣事
  5. kotlin 初始化数组
  6. C/C++ OpenCV方框滤波
  7. UIKit 框架之UIAlertController
  8. 20162316刘诚昊 第十一周学习总结
  9. 【滤波器】基于matlab GUI低通+带通+高通FIR与IIR滤波器设计【含Matlab源码 360期】
  10. 用ssh反向隧道访问内网机器
  11. Android音视频架构-学习路线规划
  12. skype国际版android,Skype国际版
  13. HTML第五章课后作业,第五章 组合逻辑电路 课后习题答案详解 资料资料资料.pdf...
  14. SLAM领域的优秀作者与实验室汇总
  15. buu刷题日记 asis2016_b00ks
  16. Python北京二手房房价数据集分析
  17. 机器人兴趣班奖状_美术兴趣班奖状称号
  18. Python之数据库编程
  19. PAT甲级 1027 Colors in Mars (20分)
  20. 174.123.15.31 index.php,腾讯内容开放平台

热门文章

  1. 埃夫特机器人示教器linux屏幕多少钱,不限 埃夫特机器人电路板维修
  2. STM32-串口通信详解
  3. VSCode + LaTeX 入门(学习记录)
  4. postman9.12汉化
  5. android ts合并_ts视频合并工具安卓版
  6. scanner读取带空格字符串_Scanner类提供了输入字符出的方法,下面哪个方法可以实现字符串的输入且该串可以含有空格()。-智慧树JAVA程序设计(山东联盟-山东农业大学)章节答案...
  7. Delft3D建模、水动力模拟方法及在地表水环境影响评价丨Delft3D标量输运、波浪、拉格朗日粒子及溢油模型
  8. Django下载、安装
  9. 持久层框架:Mybatis快速入门
  10. 小甲鱼c语言版:八皇后问题解决思路