@Override
	public MaskedLong valueForResolution(ContextField cf, Map<String, Long> vals,
			AssemblyResolvedPatterns rc) {
		int size = cf.getByteEnd() - cf.getByteStart() + 1;
		MaskedLong res = rc.readContext(cf.getByteStart(), size);
		res = res.shiftRight(cf.getShift());
		if (cf.hasSignbit()) {
			res = res.signExtend(cf.getEndBit() - cf.getStartBit() + 1);
		}
		else {
			res = res.zeroExtend(cf.getEndBit() - cf.getStartBit() + 1);
		}
		return res;
	}
Solves expressions of a context register field

<p>
Essentially, this just encodes the goal into the field, if it can be represented in the given
space and format. Otherwise, there is no solution.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/expr/ContextFieldSolver.java