资源描述:
《附录A MIPSsim的指令列表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、附录AMIPSsim的指令列表(MIPS64指令集的一个子集)MIPSsim是一个指令级和流水线级的MIPS模拟器。它能够执行用MIPS汇编语言(子集)编写的程序。下面给出它所能够执行的MIPS指令的列表。符号说明:(1)在指令助记符中,“.W”表示32位整数,“.L”表示64位整数,“.S”表示单精度浮点数,“.D”表示双精度浮点数。“.fmt”表示多种格式的数据,fmt∈(S,D,W,L)。(2)助记符的最后一个字母为U表示无符号操作,I表示与立即值操作,IU表示无符号立即值操作。助记符的第一个字母为D表示是双字(64位)操作。(3)为简洁起见
2、,直接用rs来表示rs寄存器中的内容,其他的如rt,rd,fs,ft,fd等都是如此。(4)fs,ft,fd表示浮点寄存器。一般来说,fs和ft表示源操作数(寄存器),fd表示结果寄存器。(5)rs,rt,rd表示整数寄存器,也称为通用寄存器。一般来说,rs和rt表示源操作数(寄存器),rd表示目的寄存器。(6)以下是两个特殊寄存器:LO——特殊寄存器,常用来存放乘积的低32位(或64位)以及除法的商;HI——特殊寄存器,常用来存放乘积的高32位(或64位)以及除法的余数。1.算术运算指令名称及缩写格式描述与说明寄存器加(ADD)ADDrd,rs,
3、rtrdßrs+rt32位,按有符号数操作。立即值加(ADDI)ADDIrt,rs,immediatertßrs+immediate32位,按有符号数操作,immediate都是16位的。下同。无符号立即值加(ADDIU)ADDIUrt,rs,immediatertßrs+immediate32位,按无符号数操作,无符号加(ADDU)ADDUrd,rs,rtrdßrs+rt32位,按无符号数操作。双字寄存器加(DADD)DADDrd,rs,rtrdßrs+rt按有符号数操作。双字立即值加(DADDI)DADDIrt,rs,immediatertßr
4、s+immediate按有符号数操作。双字无符号立即值加(DADDIU)DADDIUrt,rs,immediatertßrs+immediate按无符号数操作。双字无符号加(DADDU)DADDUrd,rs,rtrdßrs+rt按无符号数操作。寄存器减(SUB)SUBrd,rs,rtrdßrs–rt32位,按有符号数操作。无符号减(SUBU)SUBUrd,rs,rtrdßrs–rt32位,按无符号数操作。双字寄存器减(DSUB)DSUBrd,rs,rtrdßrs–rt按有符号数操作。双字无符号减(DSUBU)DSUBUrd,rs,rtrdßrs–r
5、t按无符号数操作。寄存器乘1(MUL)MULrd,rs,rtrdßrs×rt32位,按有符号数操作。寄存器乘2(MULT)MULTrs,rt(LO,HI)ßrs×rt,32位,按有符号数操作。所得到的积的低32位按符号扩展后送特殊寄存器LO,高32位按符号扩展后送特殊寄存器HI。无符号寄存器乘(MULTU)MULTUrs,rt按无符号数操作。其余同MULT。双字寄存器乘(DMULT)DMULTrd,rs,rt(LO,HI)ßrs×rt积的低64位送LO,高64位送HI,按有符号数操作。双字无符号乘(DMULTU)DMULTUrd,rs,rt按无符号
6、数操作。其余同DMULT.寄存器除(DIV)DIVrs,rt(LO,HI)ßrs/rt32位商送LO,32位余数送HI,按有符号数操作。无符号寄存器除(DIVU)DIVUrs,rt按无符号数操作。其余同DIV。双字寄存器除(DDIV)DDIVrs,rt(LO,HI)ßrs/rt64位商送LO,64位余数送HI,按有符号数操作。双字无符号除(DDIVU)DDIVUrs,rt按无符号数操作。其余同DDIV。小于比较(SLT)SLTrd,rs,rtif(rs