public ValueType dereference() {
        if(code >= A.code && code <= J.code)
            return getByCode((byte)(code+0x8));
        if(this == ValueType.SP)
            return ValueType.PEEK;
        throw new IllegalStateException("Can not dereference type "+this);
    }