private void handleCallOrBranch(Instruction instr) {

		String mnemonic = instr.getMnemonicString();
		if ("GOTO".equals(mnemonic) || "CALL".equals(mnemonic)) {
			// The instructions modify PCLATH
			Address destAddr = instr.getAddress(0);
			if (destAddr != null) {
				long val = destAddr.getOffset() >> 9;
				try {
					program.getProgramContext().setValue(pclathReg, destAddr, destAddr,
						BigInteger.valueOf(val));
				}
				catch (ContextChangeException e) {
					// ignore - we should be manipulating the "context-register"
				}
			}
		}

		else if ("LCALL".equals(mnemonic)) {
			Object[] objs = instr.getOpObjects(0);
			if (objs.length == 1 && objs[0] instanceof Scalar) {
				Scalar s = (Scalar) objs[0];
				handleComputedFlow(instr, s.getUnsignedValue(), 0);
			}
		}

		// Handle DECFSZ, INCFSZ, BTFSC and BTFSS
		else if (SKIP_INSTRUCTIONS.contains(mnemonic)) {
			Address skipAddr = instr.getMinAddress().add(2 * INSTRUCTION_LENGTH);
			refMgr.addMemoryReference(instr.getMinAddress(), skipAddr, RefType.CONDITIONAL_JUMP,
				SourceType.ANALYSIS, Reference.MNEMONIC);
			disassembleAt(skipAddr);
		}

	}
Attempt to markup FReg access instruction with register reference.

@param instr
@return register name if identified, else null
Ghidra/Processors/PIC/src/main/java/ghidra/app/plugin/core/analysis/Pic17c7xxAnalyzer.java