MIPS指令集汇总
mips指令集(24条指令)的字段和功能描述

MIPS指令集(24条指令)的字段和功能描述指令集概述M I PS(M ic ro pr oc es s or wi th ou tI nt erl o ck ed Pi pe li ne dSt a ge s)指令集是一种精简指令集(R IS C)体系结构,广泛应用于计算机体系结构的教学和实践中。
本文将介绍M IP S指令集中的24条常用指令,并对它们的字段和功能进行详细描述。
加载和存储指令1.l w指令字段描述:-指令格式:lw$r t,o f fs et($rs)-r s(源寄存器):指定存储单元的基址寄存器-r t(目标寄存器):指定目标寄存器,用于存储从存储单元中加载的数据-o ff se t:用于指定存储单元的偏移量,计算出实际地址功能描述:l w指令用于从存储单元中加载数据到目标寄存器。
它通过基址寄存器和偏移量计算出实际地址,并将存储单元中的数据加载到目标寄存器中。
2.s w指令字段描述:-指令格式:sw$r t,o f fs et($rs)-r s(源寄存器):指定存储单元的基址寄存器-r t(目标寄存器):指定源寄存器,用于存储到存储单元中的数据-o ff se t:用于指定存储单元的偏移量,计算出实际地址功能描述:s w指令用于将源寄存器中的数据存储到指定的存储单元中。
它通过基址寄存器和偏移量计算出实际地址,并将源寄存器中的数据存储到该地址对应的存储单元中。
算术和逻辑指令3.a d d指令字段描述:-指令格式:ad d$rd,$rs,$rt-r s(源寄存器1):参与运算的第一个源寄存器-r t(源寄存器2):参与运算的第二个源寄存器-r d(目标寄存器):用于存储运算结果功能描述:a d d指令用于将两个源寄存器中的数据相加,并将结果存储到目标寄存器中。
4.s u b指令字段描述:-指令格式:su b$rd,$rs,$rt-r s(源寄存器1):参与运算的第一个源寄存器-r t(源寄存器2):参与运算的第二个源寄存器-r d(目标寄存器):用于存储运算结果功能描述:s u b指令用于将源寄存器2中的数据从源寄存器1中的数据减去,并将结果存储到目标寄存器中。
mips汇编语言指令

mips汇编语言指令MIPS(Microprocessor without Interlocked Pipeline Stages)是一种精简指令集(RISC)架构的计算机处理器。
它的指令集被广泛应用于各种领域,包括嵌入式系统、操作系统和编译器等。
本文将介绍一些常见的MIPS汇编语言指令。
1. 加载和存储指令MIPS提供了一系列用于数据传输的指令。
其中,lw(load word)指令用于从内存中加载一个字(32位数据)到寄存器中,sw(store word)指令用于将一个字存储到内存中。
例如,lw $t0, 0($s0)表示将从地址$s0偏移量为0的内存位置加载一个字到$t0寄存器中。
2. 算术和逻辑指令MIPS提供了一系列用于算术和逻辑运算的指令。
例如,add指令用于将两个寄存器中的值相加,并将结果存储到目标寄存器中。
而and 指令用于对两个寄存器中的值进行按位与操作,并将结果存储到目标寄存器中。
例如,add $t0, $s0, $s1表示将$s0和$s1中的值相加,并将结果存储到$t0寄存器中。
3. 分支和跳转指令MIPS提供了一系列用于控制程序流程的指令。
其中,beq(branch if equal)指令用于在两个寄存器中的值相等时跳转到目标地址。
而j (jump)指令用于无条件跳转到目标地址。
例如,beq $t0, $t1, label表示如果$t0和$t1中的值相等,则跳转到标签为label的位置。
4. 移位指令MIPS提供了一系列用于移位操作的指令。
其中,sll(shift left logical)指令用于将一个寄存器中的值左移指定的位数,并将结果存储到目标寄存器中。
例如,sll $t0, $s0, 2表示将$s0中的值左移2位,并将结果存储到$t0寄存器中。
5. 系统调用指令MIPS提供了一系列用于进行系统调用的指令。
其中,syscall指令用于触发系统调用,并根据不同的系统调用号执行相应的操作。
MIPS32指令集(多来源_格式整齐)

MIPS32指令集MIPS指令可以分成以下各类:空操作no-op;寄存器/寄存器传输:用得很广,包括条件传输在内;常数加载:作为数值和地址的整型立即数;算术/逻辑指令;整数乘法、除法和求余数;整数乘加;加载和存储;跳转、子程序调用和分支;断点和自陷;CP0功能:CPU控制指令浮点;用户态的受限访问:rdhwr和synci注:64位版本开头以“d”表示,无符号数以“u”结尾,立即数通常以“i”结尾,字节操作以“b”结尾,双字操作以“d”结尾,字操作以“w”结尾1、空操作:nop:相当于sll zero,zero,o,ssnop: equals sll zero,zero,1.这个指令不得与其它指令同时发送,这样就保证了其运行要花费至少一个时钟周期。
这在简单的流水线的CPU上无关紧要,但在复杂些的实现上对于实现强制的延时很有用。
2、寄存器/寄存器传送:move: 通常用跟$zero寄存器的or来实现,或者用addu。
movf, movt, movn, movz: 条件传送。
3、常数加载:dla、la: 用来加载程序中某些带标号的位置或者变量的地址的宏指令;dli、li: 装入立即数常数,这是一个宏指令;lui: 把立即数加载到寄存器高位。
4、算术/逻辑运算:add、addi、dadd、daddi、addu、addiu、daddu、daddiu、dsub、sub、subu:加法指令和减法指令;abs,dabs:绝对值;dneg、neg、negu:取相反数;and、andi、or、ori、xor、nor:逐位逻辑操作指令;drol、rol、ror:循环移位指令;sll、srl、sra:移位。
5、条件设置指令:slt、slti、sltiu、sltu、seq、sge、sle、sne:条件设置。
6、整数乘法、除法和求余数:div、mul、rem等等。
7、整数乘加(累加):mad等。
8、加载和存储:lb、ld、ldl、ldr、sdl、sdr、lh、lhu、ll、sc、pref、sb等操作。
MIPS指令集(共31条)

注意:因为MIPS16只有16个16位的寄存器,所以JAL指令中$31改成$15, 所有立即数均无需扩展,LUI指令直接就是将立即数付给RT寄存器。
$1=0
if (rs < rt) rd=1 else rd=0 ;其中rs=$2,rt=$3, rd=$1
sltu
000000
rs
rt
rd
00000
101011
sltu $1,$2,$3
if($2<$3)
$1=1 else
$1=0
if (rs < rt) rd=1 else rd=0 ;其中rs=$2,rt=$3, rd=$1
goto PC+4+40
if (rs != rt) PC <- PC+4 + (sign-extend)immediate<<2
slti
001010
rs
rt
immediate
slti $1,$2,10
if($2<10)
$1=1 else
$1=0
if (rs <(sign-extend)immediate) rt=1 else rt=0 ;
PC <- rs
I-type
op
rs
rt
immediate
addi
001000
rs
rt
immediate
addi $1,$2,100
$1=$2+100
rt <- rs + (sign-extend)immediate ;其中rt=$1,rs=$2
addiu
001001
MIPS指令集

MIPS CPU的一次操作可加载或存储1到8个字节的数据。
由于乘法的结果返回的速度不足以使下一条指令能够自动得到这个结果,乘法结果寄存器是互锁的(interlocked)。
在乘法操作完成之前试图读取结果寄存器就是导致CPU停止运行,直到完成。
和其他一些更简单的RISC体系结构相比,MIPS体系结构的目标之一是:体系结构朝着64位发展,从而使得地址的段式结构变得没有任何必要。
(在64位版本的X86核PowerPC中还有这个负担)功能分组:空操作: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的指令)。
MIPS指令集汇总

MIPS指令集汇总以下是一些常用的MIPS指令:1.算术和逻辑操作:- add:将两个寄存器中的值相加,并将结果存储到目标寄存器中。
- sub:将第一个寄存器的值减去第二个寄存器的值,并将结果存储到目标寄存器中。
- mult:将两个寄存器中的值相乘,并将结果存储在两个特殊寄存器(HI和LO)中。
- div:将第一个寄存器的值除以第二个寄存器的值,并将结果存储在两个特殊寄存器(HI和LO)中。
- and:对两个寄存器中的值进行按位与操作,并将结果存储到目标寄存器中。
- or:对两个寄存器中的值进行按位或操作,并将结果存储到目标寄存器中。
- xor:对两个寄存器中的值进行按位异或操作,并将结果存储到目标寄存器中。
2.数据传输指令:- lw:从内存中加载一个字(4个字节)的数据到指定的寄存器中。
- sw:将指定寄存器中的数据存储到内存的指定位置中。
- lb:从内存中加载一个字节的数据到指定的寄存器中。
- sb:将指定寄存器中的数据的低8位存储到内存的指定位置中。
3.分支和跳转指令:- beq:如果两个寄存器中的值相等,则跳转到目标地址。
- bne:如果两个寄存器中的值不相等,则跳转到目标地址。
-j:无条件跳转到目标地址。
- jr:无条件跳转到一个寄存器中存储的地址。
- jal:有条件跳转到目标地址,并将返回地址保存在链接寄存器($ra)中。
4.系统调用指令:- syscall:执行一个系统调用,通过系统调用号(存储在$v0寄存器中)来定义执行的操作。
5.位移指令:- srl:对寄存器中的值进行逻辑右移。
- sll:对寄存器中的值进行逻辑左移。
- sra:对寄存器中的值进行算术右移。
除了上述指令外,还有一些其他的MIPS指令,如条件分支和加载延迟等。
此外,MIPS还支持浮点运算指令集(MIPS-FP),用于处理浮点运算。
总结起来,MIPS指令集包含了各种算术和逻辑操作、数据传输、分支和跳转、系统调用以及位移指令。
【MIPS】经典指令块集锦

【MIPS】经典指令块集锦Directives声明变量值存储容易将数据段地址和地址上的内容搞混.datafibs: .space 48 # allocate 12 * 4 = 48 Byte memory, store first address in label "fibs"size: .word 12 # allocate 1 Byte(a word) for 12, store address in label "size".text # want to load the value of "size" (12) to $t5la $t5, size # 1. load the address of "size" to $t5, for we could only use the labellw $t5, 0($t5) # 2. load the value of "size" to $t5需厘清:寄存器编号(地址);寄存器值;内存地址;内存段值程序操纵寄存器,寄存器操纵内存地址表⽰地址:1.⽴即数(+标签) 2.寄存器取值⼆维数组使⽤标准Arr: .space 800.macro getindex(%ans, %i, %j, %rank) # for Arr[][rank]mult %i, %rankmflo %ansadd %ans, %ans, %jsll %ans, %ans, 2.end_macro.textli $t0, 4li $t1, 0li $t2, 8getindex($t3, $t0, $t1, $t2)lw $s0, Arr($t3) # load Arr[4][0] to $s0sw $s0, Arr($t3) # store $s0 to Arr[4][0]⼀些存储带来的简化.dataArr: .space 800 # Arr[25][8]: 25 * 8 * 4Byte# cols最好⽤2的幂,⽅便sll操作,不⽤mult.macro getindex_8(%ans, %i, %j) # calculate (i*8+j)*4sll %ans, %i, 3 # i << 3add %ans, %ans, %jsll %ansm %ans, 2.end_macro# never manipulate the value of %i, %j , which prevent the risk of mischanging other registers when using the macro # thus "getindex($t0, $t1, $t1)" is safe to both the result and $t1# 模块化维护某些规范,便⽆需在其他地⽅多虑。
mips跳转指令

mips跳转指令MIPS指令集是一种经典的RISC(Reduced Instruction Set Computer)架构,其中包含多种跳转指令。
这些跳转指令在程序的流程控制中起着重要的作用,能够实现条件跳转、无条件跳转以及子程序调用等功能。
1. J(Jump)指令J指令用于无条件跳转到指定地址。
它的语法格式为:```j target```其中target是跳转目标地址,需要满足4字节对齐。
该指令将PC(程序计数器)的前28位替换为target,最后两位替换为PC的当前高4位。
这样就可以实现无条件跳转到指定地址的功能。
2. JR(Jump Register)指令JR指令用于无条件跳转到寄存器中存储的地址。
它的语法格式为:```jr $rs```其中$rs是一个通用寄存器,其存储的值是跳转目标地址。
该指令将PC的值替换为$rs寄存器的内容,实现无条件跳转到寄存器中存储的地址。
3. JAL(Jump And Link)指令JAL指令用于有条件跳转到指定地址,并保存返回地址到$31寄存器中。
它的语法格式为:```jal target```其中target是跳转目标地址,需要满足4字节对齐。
该指令将PC的当前值保存到$31寄存器中,并将PC的前28位替换为target,最后两位替换为PC的当前高4位。
这样就可以实现有条件跳转到指定地址的功能,并且保存返回地址以便后续程序执行。
4. JALR(Jump And Link Register)指令JALR指令用于有条件跳转到寄存器中存储的地址,并保存返回地址到$31寄存器中。
它的语法格式为:```jalr $rs```其中$rs是一个通用寄存器,其存储的值是跳转目标地址。
该指令将PC的值保存到$31寄存器中,并将PC的值替换为$rs寄存器的内容。
这样就可以实现有条件跳转到寄存器中存储的地址的功能,并且保存返回地址以便后续程序执行。
5. BEQ(Branch if Equal)指令BEQ指令用于在两个操作数相等时跳转到指定地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
功能
应用实例
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 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 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 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
两个单精度浮点数相乘加,结果为单精度。