public void SetRegisterValues(int currentInstruction, int[] registers)
        {
            int readRegister1 = InstructionDecoder.source_reg1(currentInstruction);
            int readRegister2 = InstructionDecoder.source_reg2(currentInstruction);
            int writeRegister = InstructionDecoder.dest_reg(currentInstruction);


            ReadReg1Value  = registers[readRegister1];
            ReadReg2Value  = registers[readRegister2];
            WriteReg_20_16 = readRegister2;
            WriteReg_15_11 = writeRegister;
            SEOffset       = InstructionDecoder.offset(currentInstruction);
            Function       = InstructionDecoder.func_code(SEOffset);
        }