借此机会,再总结一下前几周理论课学习到的一些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);