def ROTATE(operands): # bits 8-12 ignored global registers R = operands[:4] X = operands[8:] def rotateHelper(l, n): if n == 0: return l else: return rotateHelper([l[-1]] + l[:-1], n - 1) registers[util.getValFromBits(R)] = util.getValFromBits( rotateHelper( util.intToBits(registers[util.getValFromBits(R)], 8), util.getValFromBits(X)))
def decode(): bits = util.intToBits(internals.IR, 16) internals.controlunit = (bits[:4], bits[4:])