private void handlePclathModification(Instruction instr) {
		pclathContext.writeValue(instr.getMaxAddress());
		String mnemonic = instr.getMnemonicString();
		if ("CLRF".equals(mnemonic)) {
			pclathContext.setValueAt(instr, 0, false);
		}
		else if ("BSF".equals(mnemonic)) {
			if (!pclathContext.setBitAt(instr, instr.getScalar(1), 0)) {
//				 Unhandled PCLATH modification
				Msg.warn(this, "Unhandled PCLATH bit-set at: " + instr.getMinAddress());
			}
		}
		else if ("BCF".equals(mnemonic)) {
			if (!pclathContext.clearBitAt(instr, instr.getScalar(1), 0)) {
//				 Unhandled PCLATH modification
				Msg.warn(this, "Unhandled PCLATH bit-set at: " + instr.getMinAddress());
			}
		}
		else if ("INCF".equals(mnemonic)) {
			if (pclathContext.hasValue()) {
				pclathContext.setValueAt(instr, pclathContext.longValue() + 1, false);
			}
			else {
				pclathContext.setValueUnknown();
				Msg.warn(this, "Unhandled PCLATH change at: " + instr.getMinAddress());
			}
		}
		else if ("DECF".equals(mnemonic)) {
			if (pclathContext.hasValue()) {
				pclathContext.setValueAt(instr, pclathContext.longValue() - 1, false);
			}
			else {
				pclathContext.setValueUnknown();
				Msg.warn(this, "Unhandled PCLATH change at: " + instr.getMinAddress());
			}
		}
		else if ("MOVWF".equals(mnemonic)) {
			if (wContext.hasValue()) {
				pclathContext.setValueAt(instr, wContext.longValue(), false);
			}
			else {
				pclathContext.setValueUnknown();
				Msg.warn(this, "Unhandled PCLATH change at: " + instr.getMinAddress());
			}
		}
		else if ("MOVFP".equals(mnemonic) || "MOVPF".equals(mnemonic)) {
			Object[] objs = instr.getOpObjects(0);
			if (objs.length == 0 && (wReg.equals(objs[0]) || wReg.getAddress().equals(objs[0])) &&
				wContext.hasValue()) {
				pclathContext.setValueAt(instr, wContext.longValue(), false);
			}
			else {
				pclathContext.setValueUnknown();
				Msg.warn(this, "Unhandled PCLATH change at: " + instr.getMinAddress());
			}
		}
		else if (REG_S_MODIFICATION_MNEMONICS.contains(mnemonic)) {
			pclathContext.setValueUnknown();
			Msg.warn(this, "Unhandled PCLATH change at: " + instr.getMinAddress());
		}
		else if (REG_MODIFICATION_MNEMONICS.contains(mnemonic)) {
			if (instr.getNumOperands() == 2) {
				List<?> repObjs = instr.getDefaultOperandRepresentationList(1);
				if (repObjs.size() == 1 && DEST_FREG.equals(repObjs.get(0))) {
					// Unhandled alusta modification
					pclathContext.setValueUnknown();
					Msg.warn(this, "Unhandled PCLATH change at: " + instr.getMinAddress());
				}
			}
			else if (instr.getNumOperands() == 1) {
				// Unhandled alusta modification
				pclathContext.setValueUnknown();
				Msg.warn(this, "Unhandled PCLATH change at: " + instr.getMinAddress());
			}
		}
	}
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