protected void branchToOffset(PcodeOp op, T offset, PcodeFrame frame) {
		T truncOff = arithmetic.unaryOp(PcodeOp.COPY, pc.getMinimumByteSize(),
			(int) arithmetic.sizeOf(offset), offset);
		state.setVar(pc, truncOff);
		frame.finishAsBranch();
	}
Set the state's pc to the given offset and finish the frame

<p>
This implements only part of the p-code control flow semantics. An emulator must also
override {@link #branchToAddress(PcodeOp, Address)}, so that it can update its internal
program counter. The emulator could just read the program counter from the state after
<em>every</em> completed frame, but receiving it "out of band" is faster.

@param op the op
@param offset the offset (the new value of the program counter)
@param frame the frame to finish
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/exec/PcodeExecutor.java