@Override
    public Word getMemoryCell(DCPU dcpu, OperandMode mode) {
        Register register;
        switch (this.value) {
            case 0x08:
                register = Register.A;
                break;
            case 0x09:
                register = Register.B;
                break;
            case 0x0A:
                register = Register.C;
                break;
            case 0x0B:
                register = Register.X;
                break;
            case 0x0C:
                register = Register.Y;
                break;
            case 0x0D:
                register = Register.Z;
                break;
            case 0x0E:
                register = Register.I;
                break;
            case 0x0F:
                register = Register.J;
                break;
            default:
                throw new IllegalArgumentException("value is not in range");
        }
        
        return dcpu.getRam(dcpu.getRegister(register));
    }