借此机会,再总结一下前几周理论课学习到的一些MIPS指令集:(主要查询自别处)

【空操作】

nop、ssnop(不能和其他指令同时,至少需要一个时钟周期)

【寄存器间的数据传送指令】

move、movf、movt、movn、movz(后四个为条件传递指令)

【常数加载指令】

dla、la(获取某些标号地址或程序中变量地址的宏指令);

dli、li(加载常数立即数指令);

lui(加载高位立即数指令)

【算术/逻辑操作指令】

addu、addiu、daddu,daddiu(加法指令);

dsub、sub(会触发溢出陷入的减法操作);

dsubu、subu(普通减法指令);

abs、dabs(求绝对值操作);

dneg、neg、dnegu、negu(一元非操作);

and、andi、or、ori、xor、xori、nor、not(按位逻辑指令);

drol、dror、rol、ror(循环左移和右移);

dsll、dsll32、dsllv(64位左移,低位补零);

dsra、dsra32、dsrav(64位算术右移指令);

dsrl、dsrl32、dsrlv(64位逻辑右移指令);

sll、sllv(32位左移指令);sra、srav(32位算术右移指令);

srl、srlv(32位逻辑右移指令);

slt、slti、sltiu、sltu(硬件指令,条件满足就写入1,否则写0);

seq、sge、sgeu、sgt、sgtu、sle、slue、sne(根据更复杂的条件设置目的寄存器的宏指令)

【整数乘法、除法以及求余指令】

ddiv、ddivu、div、divu(整数除法的3操作数宏指令分别处理64位或32位有符号或无符号数);

divo、divou(明确该指令是带有溢出检查的除法指令);

dmul、mul(3操作数64位或32位乘法指令,没有溢出检查);

mulo、mulou、dmulo、dumlou(乘法宏指令,如果结果不能存入一个通用寄存器,发生溢出,触发异常);

dmult、dmultu、mult、multu(执行有符号/无符号32/64位乘法的机器指令);

drem、dremu、rem、remu(求余操作);

mfhi、mflo、mthi、mtlo(用于访问整数乘除单元的结果寄存器hi和lo)

【存取指令(内存访问指令】

lb、lbu(加载一个字节,高位可以补零,或进行符号扩展,以补充整个寄存器的长度);

ld(加载一个双字);

ldl、ldr、lwl、lwr、sdl、sdr、swl、swr(向左、向右加载、存储一个字、双字);

lh、lhu(加载一个半字,高位可以补零,或进行符号扩展,以补充整个寄存器的长度);

lw、lwu(加载一个字);

pref、prefx(把数据预取到缓冲);

sb、sd、sh、sw(存储字节、双字、半字、字);

uld、ulh、ulhu、ulw、usd、usw、ush(地址非对齐的数据存取宏指令);

l.d、l.s、s.d、s.s(存取双精度和单精度浮点数的指令,地址必须对齐);

ldxcl、lwxcl、sdxcl、swxcl(采用基址寄存器+偏移寄存器的寻址方式存取指令);

【跳转、分支和子程序调用指令】

j(无条件跳转到一个绝对地址,访问256M的代码空间);

jal、jalr(直接或间接子程序调用,这种跳转不仅能跳转到指定地址,而且可以顺便把返回地址(当前指令地址+8)放到ra寄存器中);

b(基于当前指令地址的无条件相对跳转);

bal(基于当前地址的函数调用指令);

bc0f、bc0f1、bc0t、bc0t1、bc2f、bc2f1、bc2t、bc2t1(根据协处理器0和2的条件标志进行跳转);

bc1f、bc1f1、bc1t、bc1t1(根据浮点条件标志位进行跳转);

beq、beq1、beqz、beqz1、bge、bge1、bgeu、bgeu1、bgez、bgez1、bgt、bgt1、bgtu、bgtu1、bgtz、bgtz1、ble、ble1、bleu、bleu1、blez、blez1、blt、blt1、bltu、bltu1、bltz、bltz1、bne、bnel、bnez、bnezl(双操作数和单操作数的比较跳转指令);

bgeza1、bgeza11、bltza1、bltza11(如果需要 ,这些指令是用于有条件函数调用的原始机器指令);

【断点及陷阱指令】

break(产生一个“断点”类型的异常);

sdbbp(产生EJTAG异常的断点指令);

syscall(产生一个约定用于系统调用的异常类型);

teq、teqi、tge、tgei、tgeiu、tgeu、tlt、tlti、tltiu、tltu、tne、tnei(条件异常指令,对一个或两个操作数进行条件测试);

【协处理器0的功能】

cfc0、ctc0(把数据拷进和拷出协处理器0的控制寄存器);

mfc0、mtc0、dmfc0、dmtc0(在通用寄存器和协处理器0寄存器之间交换数据);

cfc2、ctc2、dmfc2、dmtc2、mfc2、mtc2(协处理器2的指令);

i基准指令集 mips_MIPS指令集整理相关推荐

  1. i基准指令集 mips_mips addiu

    27bdfff8 addiu $sp,$sp,-8 /* Save the re... (sign-extend)immediate ; $1=$2+100 00 其中 rt=$1,rs=$2 001 ...

  2. i基准指令集 mips_MIPS处理器 MIPS指令集(上)

    引言 MIPS指令集有固定的MIPS指令格式和MIPS指令类型,还有固定的MIPS寄存器,它们是了解MIPS指令必不可少的前提. 其中,寄存器是MIPS处理器高效的临时存储工具,其存取速度极快,共有固 ...

  3. 和x86同时代的计算机语言指令集,x86指令集同频性能提升

    x86近5000条指令,迄今为止最复杂的指令集.这里不研究CISC & RISC,也不考虑process制程变化,主要是看最近几代IA架构对于同频率下性能的提升. x86指令集nasm文档 h ...

  4. java指令集_javap 指令集

    栈和局部变量操作 将常量压入栈的指令 aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将 ...

  5. Cortex、ARMv8、arm架构、ARM指令集、soc?Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(内核)后者是指令集的架构(架构)

    架构组成元素的指令集状态或者语法thumb指令集与arm指令集的区别例如thumb指令集是什么_thumb指令集与arm指令集的区别以及thumb-2的关系在下一文中介绍,本文暂时不讨论 有粉丝问我到 ...

  6. 到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】

    前言 有粉丝问我到底什么是ARM,搞不清楚Cortex.arm内核.arm架构.ARM指令集.soc这些概念都是什么关系,下面一口君给大家整理一下关于ARM相关的一些概念. 1.ARM既可以认为是一个 ...

  7. 深入探讨用位掩码代替分支(7):MMX指令集速度测试

    前面我们测试了高级语言做饱和处理的性能.其实,对于这样的大批量数据处理,使用SIMD(Single Instruction Multiple Data,单指令多数据流)技术能极大的提高性能.MMX指令 ...

  8. ARM指令集、Thumb指令集、Thumb-2指令集

    Thumb‐2是一个突破性的指令集.它强大,它易用,它轻佻,它高效.Thumb‐2是16位Thumb指令集的一个超集,在Thumb‐2中,16位指令首次与32位指令并存,结果在Thumb状态下可以做的 ...

  9. [C] 跨平台使用Intrinsic函数范例3——使用MMX、SSE2指令集 处理 32位整数数组求和...

    作者:zyl910. 本文面对对SSE等SIMD指令集有一定基础的读者,以32位整数数组求和为例演示了如何跨平台使用MMX.SSE2指令集.支持vc.gcc编译器,在Windows.Linux.Mac ...

最新文章

  1. 蓝懿教育九月二十七日记录
  2. 从电影死亡笔记看商业智能在治安领域的应用
  3. Metasploit中aggregator插件无法使用
  4. Web会话安全分析工具ProxyStrike
  5. linux shell 逻辑判断 [] [[]] -n -z 用法区别
  6. js div asp.net 实现漂浮图片,可以代码控制。
  7. 2018年下半年网络公式考试案例分析真题
  8. 项目实施管理之系统演示
  9. bootstrap学习笔记(5)
  10. arm汇编语言调用C函数之参数传递
  11. WebAPI Delete方法报错405 Method Not Allowed
  12. What is the !! (not not) operator in JavaScript?
  13. java异常继承哪个类_java异常继承何类,运行时异常与一般异常的区别
  14. 非模式对话框CreateDialog() 与 模式对话框 DialogBoxParam()和DialogBox()
  15. intelGMA950开启3d特效
  16. Android4.1.0实战教程---自动阅读小说
  17. 对接京东获取任务工单接口jingdong.homefw.task.search,附接口字段详细说明,数据库设计,Java实现
  18. B.FRIENDit壁虎忍者GC03电竞椅,坐的舒服才能心无旁骛!
  19. weblogic修改控制台密码
  20. 学习Python,主要应用场景有哪些?

热门文章

  1. 计算cpu利用率和内存利用率
  2. PHP 从LDAP服务器获取用户信息
  3. vue项目如何让局域网ip访问配置设置
  4. 我的世界服务器物品使用权限,我的世界服务器怎么ban物品使用权限
  5. Read Aloud: 文本语音朗读助理
  6. 用进程打开记事本(notepad),停留5秒后结束记事本进程
  7. 关于QQ真人秀免费用的技巧
  8. java swing substance_java swing皮肤使用(substance)
  9. 关闭计算机后为什么重新启动,为什么计算机关机后自动重新启动? Windows 10关闭重新启动的原因及解决方法...
  10. Java之函数式接口(FunctionalInterface)