public void setCounterAndContext(Address counter, RegisterValue context) {
		setCounter(counter);
		if (context != null) {
			/**
			 * TODO: Later this might become assignContext, but only after we establish conventions
			 * for accessing context in userops. For now, state modifiers expect the contextreg to
			 * be in the machine state.
			 */
			writeContext(context);
		}
	}
Set the emulator's counter and context without affecting its machine state

@param counter the counter
@param context the context
@implNote the reasons for doing this are a bit nuanced and they deal in the setting of the pc
          by p-code ops whilst it also makes hazardous userop invocations. The intended value
          of the pc may not survive if it gets clobbered with the current counter before
          execution reaches the "goto pc".
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/emu/jit/JitPcodeThread.java