예제 #1
0
def sll(dest, operand1, immediate):
    return pips.rformat(opcode='add',
                        r0=dest,
                        r1='$zero',
                        r2=operand1,
                        shift_type=pips.SHIFT_LEFT,
                        shift_amt=immediate)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
def nand_instr(dest, operand1, operand2):
    return pips.rformat(opcode='nand', r0=dest, r1=operand1, r2=operand2)
예제 #8
0
def nor(dest, op1, op2):
    return pips.rformat(opcode='nor', r0=dest, r1=op1, r2=op2)
예제 #9
0
def nand(dest, op1, op2):
    return pips.rformat(opcode='nand', r0=dest, r1=op1, r2=op2)
예제 #10
0
def or_instr(dest, op1, op2):
    return pips.rformat(opcode='or', r0=dest, r1=op1, r2=op2)
예제 #11
0
def and_instr(dest, op1, op2):
    return pips.rformat(opcode='and', r0=dest, r1=op1, r2=op2)
예제 #12
0
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)
예제 #13
0
def xor(dest, operand1, operand2):
    return pips.rformat(opcode='xor', r0=dest, r1=operand1, r2=operand2)
예제 #14
0
def jr(dest):
    return pips.rformat(opcode='j', r0='$zero', r1='$zero', r2=dest)
예제 #15
0
def sub_instr(dest, operand1, operand2):
    return pips.rformat(opcode='sub', r0=dest, r1=operand1, r2=operand2)
예제 #16
0
def jump_register(register):
    return pips.rformat(opcode='j', r0='$zero', r1='$zero', r2=register)
예제 #17
0
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)
예제 #18
0
def sub(dest, op1, op2):
    return pips.rformat(opcode='sub', r0=dest, r1=op1, r2=op2)
예제 #19
0
def sltu(dest, op1, op2):
    return pips.rformat(opcode='sltu', r0=dest, r1=op1, r2=op2)
예제 #20
0
def add(dest, operand1, operand2):
    return pips.rformat(opcode='add', r0=dest, r1=operand1, r2=operand2)
예제 #21
0
def jr(op1):
    return pips.rformat(opcode='j', r0='$zero', r1='$zero', r2=op1)
예제 #22
0
def slt(dest, operand1, operand2):
    return pips.rformat(opcode='slt', r0=dest, r1=operand1, r2=operand2)
예제 #23
0
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)