def sll(dest, operand1, immediate): return pips.rformat(opcode='add', r0=dest, r1='$zero', r2=operand1, shift_type=pips.SHIFT_LEFT, shift_amt=immediate)
def srl(dest, op1, immediate): return pips.rformat(opcode='add', r0=dest, r1='$zero', r2=op1, shift_type=pips.SHIFT_RIGHT_LOGICAL, shift_amt=immediate)
def sra(dest, shift_reg, shift): return pips.rformat(opcode='add', r0=dest, r1='$zero', r2=shift_reg, shift_type=pips.SHIFT_RIGHT_ARITHMETIC, shift_amt=shift)
def sra(dest, operand1, immediate): return pips.rformat(opcode='add', r0=dest, r1='$zero', r2=operand1, shift_type=pips.SHIFT_RIGHT_ARITHMETIC, shift_amt=immediate)
def srl(dest, shift_reg, shift): return pips.rformat(opcode='add', r0=dest, r1='$zero', r2=shift_reg, shift_type=pips.SHIFT_RIGHT_LOGICAL, shift_amt=shift)
def sll(dest, shift_reg, shift): return pips.rformat(opcode='add', r0=dest, r1='$zero', r2=shift_reg, shift_type=pips.SHIFT_LEFT, shift_amt=shift)
def nand_instr(dest, operand1, operand2): return pips.rformat(opcode='nand', r0=dest, r1=operand1, r2=operand2)
def nor(dest, op1, op2): return pips.rformat(opcode='nor', r0=dest, r1=op1, r2=op2)
def nand(dest, op1, op2): return pips.rformat(opcode='nand', r0=dest, r1=op1, r2=op2)
def or_instr(dest, op1, op2): return pips.rformat(opcode='or', r0=dest, r1=op1, r2=op2)
def and_instr(dest, op1, op2): return pips.rformat(opcode='and', r0=dest, r1=op1, r2=op2)
def srl(operand1, operand2, shift_amt): return pips.rformat(opcode='add', r0=operand1, r1='$zero', r2=operand2, shift_type=pips.SHIFT_RIGHT_LOGICAL, shift_amt=shift_amt)
def xor(dest, operand1, operand2): return pips.rformat(opcode='xor', r0=dest, r1=operand1, r2=operand2)
def jr(dest): return pips.rformat(opcode='j', r0='$zero', r1='$zero', r2=dest)
def sub_instr(dest, operand1, operand2): return pips.rformat(opcode='sub', r0=dest, r1=operand1, r2=operand2)
def jump_register(register): return pips.rformat(opcode='j', r0='$zero', r1='$zero', r2=register)
def sra(operand1, operand2, shift_amt): return pips.rformat(opcode='add', r0=operand1, r1='$zero', r2=operand2, shift_type=pips.SHIFT_RIGHT_ARITHMETIC, shift_amt=shift_amt)
def sub(dest, op1, op2): return pips.rformat(opcode='sub', r0=dest, r1=op1, r2=op2)
def sltu(dest, op1, op2): return pips.rformat(opcode='sltu', r0=dest, r1=op1, r2=op2)
def add(dest, operand1, operand2): return pips.rformat(opcode='add', r0=dest, r1=operand1, r2=operand2)
def jr(op1): return pips.rformat(opcode='j', r0='$zero', r1='$zero', r2=op1)
def slt(dest, operand1, operand2): return pips.rformat(opcode='slt', r0=dest, r1=operand1, r2=operand2)
def sll(operand1, operand2, shift_amt): return pips.rformat(opcode='add', r0=operand1, r1='$zero', r2=operand2, shift_type=pips.SHIFT_LEFT, shift_amt=shift_amt)