Ejemplo n.º 1
0
def add(rs, rt, rd):
    if check_offset_field(rs) and check_offset_field(rt):
        # rd = rs + rt
        instruction = ("0000000000" + to_binary_str(rs, 3) +
                       to_binary_str(rt, 3) + "0000000000000" +
                       to_binary_str(rd, 3))
        # return instruction
        return binary_str_to_decimal(instruction)
Ejemplo n.º 2
0
def jalr(x0, x1):
    ans = "101"
    if check_isregister(x0):
        bi0 = to_binary_str(x0, 3)
        ans = ans + bi0

    if check_offset_field(x1):
        bi1 = to_binary_str(x1, 3)
        ans = ans + bi1
        ans = ans + "0000000000000000"

    return binary_str_to_decimal(ans)
Ejemplo n.º 3
0
def lw(field0, field1, field2):
    opcode = "010"
    code = remain_code(opcode, field0, field1, field2)
    return binary_str_to_decimal(code)
Ejemplo n.º 4
0
def halt():
    return binary_str_to_decimal(f"110{to_binary_str(0,22)}")
Ejemplo n.º 5
0
def noop():
    return binary_str_to_decimal(f"111{to_binary_str(0,22)}")