mips 系统桥_系统中常用MIPS指令
发布日期:2021-06-24 11:27:49 浏览次数:2 分类:技术文章

本文共 2749 字,大约阅读时间需要 9 分钟。

指令功能应用实例

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的值为0SLT R1,R2,R3

SLTI如果寄存器R2的值小于立即数,那么设置R1的值为1,否则设置寄存器R1的值为0SLTI 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两个单精度浮点数相乘加,结果为单精度

转载地址:https://blog.csdn.net/weixin_32503531/article/details/111951546 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:element上传大文件就报错500_详解Element-UI中上传的文件前端处理
下一篇:怎么让td里的内容置顶_如何使用织梦置顶文章功能并添加置顶一天技巧

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月04日 14时40分32秒