[zt]系统中常用MIPS指令
|
指令 |
功能 |
应用实例 |
|
LB |
从存储器中读取一个字节的数据到寄存器中 |
LB R1, 0(R2) |
|
LH |
从存储器中读取半个字的数据到寄存器中 |
LH R1, 0(R2) |
|
LW |
从存储器中读取一个字的数据到寄存器中 |
LW R1, 0(R2) |
|
LD |
从存储器中读取双字的数据到寄存器中 |
LD R1, 0(R2) |
|
L.S |
从存储器中读取单精度浮点数到寄存器中 |
L.S R1, 0(R2) |
|
L.D |
从存储器中读取双精度浮点数到寄存器中 |
L.D R1, 0(R2) |
|
LBU |
功能与LB指令相同,但读出的是不带符号的数据 |
LBU R1, 0(R2) |
|
LHU |
功能与LH指令相同,但读出的是不带符号的数据 |
LHU R1, 0(R2) |
|
LWU |
功能与LW指令相同,但读出的是不带符号的数据 |
LWU R1, 0(R2) |
|
SB |
把一个字节的数据从寄存器存储到存储器中 |
SB R1, 0(R2) |
|
SH |
把半个字节的数据从寄存器存储到存储器中 |
SH R1,0(R2) |
|
SW |
把一个字的数据从寄存器存储到存储器中 |
SW R1, 0(R2) |
|
SD |
把两个字节的数据从寄存器存储到存储器中 |
SD R1, 0(R2) |
|
S.S |
把单精度浮点数从寄存器存储到存储器中 |
S.S R1, 0(R2) |
|
S.D |
把双精度数据从存储器存储到存储器中 |
S.D R1, 0(R2) |
|
DADD |
把两个定点寄存器的内容相加,也就是定点加 |
DADD R1,R2,R3 |
|
DADDI |
把一个寄存器的内容加上一个立即数 |
DADDI R1,R2,#3 |
|
DADDU |
不带符号的加 |
DADDU R1,R2,R3 |
|
DADDIU |
把一个寄存器的内容加上一个无符号的立即数 |
DADDIU R1,R2,#3 |
|
ADD.S |
把一个单精度浮点数加上一个双精度浮点数,结果是单精度浮点数 |
ADD.S F0,F1,F2 |
|
ADD.D |
把一个双精度浮点数加上一个单精度浮点数,结果是双精度浮点数 |
ADD.D F0,F1,F2 |
|
ADD.PS |
两个单精度浮点数相加,结果是单精度浮点数 |
ADD.PS F0,F1,F2 |
|
DSUB |
两个寄存器的内容相减,也就是定点数的减 |
DSUB R1,R2,R3 |
|
DSUBU |
不带符号的减 |
DSUBU R1,R2,R3 |
|
SUB.S |
一个双精度浮点数减去一个单精度浮点数,结果为单精度 |
SUB.S F1,F2,F3 |
|
SUB.D |
一个双精度浮点数减去一个单精度浮点数,结果为双精度浮点数 |
SUB.D F1,F2,F3 |
|
SUB.PS |
两个单精度浮点数相减 |
SUB.SP F1,F2,F3 |
|
DDIV |
两个定点寄存器的内容相除,也就是定点除 |
DDIV R1,R2,R3 |
|
DDIVU |
不带符号的除法运算 |
DDIVU R1,R2,R3 |
|
DIV.S |
一个双精度浮点数除以一个单精度浮点数,结果为单精度浮点数 |
DIV.S F1,F2,F3 |
|
DIV.D |
一个双精度浮点数除以一个单精度浮点数,结果为双精度浮点数 |
DIV.D F1,F2,F3 |
|
DIV.PS |
两个单精度浮点数相除,结果为单精度 |
DIV.PS F1,F2,F3 |
|
DMUL |
两个定点寄存器的内容相乘,也就是定点乘 |
DMUL R1,R2,R3 |
|
DMULU |
不带符号的乘法运算 |
DMULU R1,R2,R3 |
|
MUL.S |
一个双精度浮点数乘以一个单精度浮点数,结果为单精度浮点数 |
DMUL.S F1,F2,F3 |
|
MUL.D |
一个双精度浮点数乘以一个单精度浮点数,结果为双精度浮点数 |
DMUL.D F1,F2,F3 |
|
MUL.PS |
两个单精度浮点数相乘,结果为单精度浮点数 |
DMUL.PS F1,F2,F3 |
|
AND |
与运算,两个寄存器中的内容相与 |
ANDR1,R2,R3 |
|
ANDI |
一个寄存器中的内容与一个立即数相与 |
ANDIR1,R2,#3 |
|
OR |
或运算,两个寄存器中的内容相或 |
ORR1,R2,R3 |
|
ORI |
一个寄存器中的内容与一个立即数相或 |
ORIR1,R2,#3 |
|
XOR |
异或运算,两个寄存器中的内容相异或 |
XORR1,R2,R3 |
|
XORI |
一个寄存器中的内容与一个立即数异或 |
XORIR1,R2,#3 |
|
BEQZ |
条件转移指令,当寄存器中内容为0时转移发生 |
BEQZ R1,0 |
|
BENZ |
条件转移指令,当寄存器中内容不为0时转移发生 |
BNEZ R1,0 |
|
BEQ |
条件转移指令,当两个寄存器内容相等时转移发生 |
BEQ R1,R2 |
|
BNE |
条件转移指令,当两个寄存器中内容不等时转移发生 |
BNE R1,R2 |
|
J |
直接跳转指令,跳转的地址在指令中 |
J name |
|
JR |
使用寄存器的跳转指令,跳转地址在寄存器中 |
JR R1 |
|
JAL |
直接跳转指令,并带有链接功能,指令的跳转地址在指令中,跳转发生时要把返回地址存放到R31这个寄存器中 |
JAL R1 name |
|
JALR |
使用寄存器的跳转指令,并且带有链接功能,指令的跳转地址在寄存器中,跳转发生时指令的放回地址放在R31这个寄存器中 |
JALR R1 |
|
MOV.S |
把一个单精度浮点数从一个浮点寄存器复制到另一个浮点寄存器 |
MOV.S F0,F1 |
|
MOV.D |
把一个双精度浮点数从一个浮点寄存器复制到另一个浮点寄存器 |
MOV.D F0,F1 |
|
MFC0 |
把一个数据从通用寄存器复制到特殊寄存器 |
MFC0 R1,R2 |
|
MTC0 |
把一个数据从特殊寄存器复制到通用寄存器 |
MTC0 R1,R2 |
|
MFC1 |
把一个数据从定点寄存器复制到浮点寄存器 |
MFC1 R1,F1 |
|
MTC1 |
把一个数据从浮点寄存器复制到定点寄存器 |
MTC1 R1,F1 |
|
LUI |
把一个16位的立即数填入到寄存器的高16位,低16位补零 |
LUI R1,#42 |
|
DSLL |
双字逻辑左移 |
DSLL R1,R2,#2 |
|
DSRL |
双字逻辑右移 |
DSRL R1,R2,#2 |
|
DSRA |
双字算术右移 |
DSRA R1,R2,#2 |
|
DSLLV |
可变的双字逻辑左移 |
DSLLV R1,R2,#2 |
|
DSRLV |
可变的双字罗伊右移 |
DSRLV R1,R2,#2 |
|
DSRAV |
可变的双字算术右移 |
DSRAV R1,R2,#2 |
|
SLT |
如果R2的值小于R3,那么设置R1的值为1,否则设置R1的值为0 |
SLT R1,R2,R3 |
|
SLTI |
如果寄存器R2的值小于立即数,那么设置R1的值为1,否则设置寄存器R1的值为0 |
SLTI R1,R2,#23 |
|
SLTU |
功能与SLT一致,但是带符号的 |
SLTU R1,R2,R3 |
|
SLTUI |
功能与SLT一致,但不带符号 |
SLTUI R1,R2,R3 |
|
MOVN |
如果第三个寄存器的内容为负,那么复制一个寄存器的内容到另外一个寄存器 |
MOVN R1,R2,R3 |
|
MOVZ |
如果第三个寄存器的内容为0,那么复制一个寄存器的内容到另外一个寄存器 |
MOVZ R1,R2,R3 |
|
TRAP |
根据地址向量转入管态 |
|
|
ERET |
从异常中返回到用户态 |
|
|
MADD.S |
一个双精度浮点数与单精度浮点数相乘加,结果为单精度 |
|
|
MADD.D |
一个双精度浮点数与单精度浮点数相乘加,结果为双精度 |
|
|
MADD.PS |
两个单精度浮点数相乘加,结果为单精度 |
|
[zt]系统中常用MIPS指令的更多相关文章
- Mac系统中常用快捷键
刚刚接触IOS系统,收集了一些快捷键和系统指令,以便能更好的学习IOS开发. 一.文件操作 复制:Command + C 粘贴:Command + V 回退:Command + ...
- Linux系统中常用操作命令
常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdi ...
- linux运维中常用的指令
一.终端中常用的快捷键 man界面中的快捷键: ?keyword 向上搜索关键词keyword,n向下搜索,N继续向上搜索 /keyword 向下搜索关键词keyw ...
- [原创]Android系统中常用JAVA类源码浅析之HashMap
由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...
- 工作中常用Git指令操作
常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...
- Unix系统中常用的信号含义
http://blog.csdn.net/u012349696/article/details/50687462 编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ...
- 【转】CentOS系统中常用查看日志命令
来源:http://www.centoscn.com/CentOS/help/2014/0310/2540.html Linux IDE RedHat 防火墙活动 .cat tail -f 日 志 文 ...
- Linux命令--系统中常用的查看命令
摘自 http://my.oschina.net/syyzhan/blog/277536 1.查看日志文件 使用命令:cat 或者 tail -f(默认查看文件尾部10行) 相关日志文件: /var/ ...
- CentOS系统中常用查看日志命令
cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安 ...
随机推荐
- Sizeof与Strlen的区别与联系(转)
Sizeof与Strlen的区别与联系 一.sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型 ...
- DOM对象与jquery对象的区别
jQuery对象和DOM对象使用说明,需要的朋友可以参考下. 1.jQuery对象和DOM对象 第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQue ...
- codeforces724-A. Checking the Calendar 日期题
首先有这样一个显然的事实,那就是每个月的第一天可以是星期x,x可以取遍1~7 因为日期一直在往后退,总有一年能轮到分割线那天,因为本来其实压根就没有月份的划分,月份划分是人为的 而且我们也不知道开始的 ...
- document对象(二)
五.相关元素操作: var a = document.getElementById("id"); 找到a: var b = a.nextSibling ...
- 初探YAML
YAML何许物也?在XML泛滥的情况下,YAML的出现的确让人眼前一亮,在初步学习了YAML以后,粗略的总结了一下,拿出来和大家分享.[MindMap][参考文档]YAML Specification ...
- phpexecel 导入导出,格式
1.日期时间合并到c中 =a1 &b1 或 =a1 + b1 这些都是运算符 2.此时c1的值是这条公式,而并不是公式运算的结果 复制c,粘贴到d,选择粘贴值 3.此时c是时间日期格式的,如需 ...
- iOS10 UI教程视图和子视图的可见性
iOS10 UI教程视图和子视图的可见性 iOS10 UI教程视图和子视图的可见性,一个父视图可以通过clipsToBounds属性,定义子视图在边界(边界就是父视图的框架也就是父视图可以显示的范围) ...
- 仓库如何盘点 打印扫描一体PDA盘点机提升库存盘点效率
仓库盘点是对仓储货品的收发结存等活动进行有效控制,保证仓储货品完好无损.帐物相符,确保生产正常进行,规范公司物料的盘点作业.盘点需人工操作,费时费力,PDA盘点机的出现大幅提升了盘点效率,减轻了工作人 ...
- DelphiXE下的字符串变化
字符串类型用于描述一个单独的书面的文字和符号. 一.字符类型 Delphi支持AnsiChar和WideChar两种基本的字符类型.AnsiChar类型变量使用单字节来表示一个字符,WideChar使 ...
- Python小例子(求和)
简单的数字的求和: a = input('请输入第一个数:') b = input('请输入第二个数:') sum = float(a) + float(b) print('数字{0}和数字{1}相加 ...