private PseudoInstruction getPseudoInstruction(MemBuffer memBuffer,
			InstructionPrototype prototype, RegisterValue contextValue, InstructionBlock block)
			throws AddressOverflowException {

		Address addr = memBuffer.getAddress();
		ProcessorContext processorContext =
			getProcessorContext(addr, prototype.getLength(), contextValue);

		PseudoInstruction instr;
		if (program != null) {
			instr = new PseudoInstruction(program, addr, prototype, memBuffer, processorContext);
		}
		else {
			instr =
				new PseudoInstruction(addrFactory, addr, prototype, memBuffer, processorContext);
		}
		instr.setInstructionBlock(block);
		return instr;
	}
Perform parse of instruction bytes and context to produce an instruction prototype.
@param instrMemBuffer memory buffer
@param block fallthrough sequence of instructions preceding current instruction
required to facilitate potential crossbuilds for current instruction.
@return instruction prototype
@throws InsufficientBytesException
@throws UnknownInstructionException
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/disassemble/Disassembler.java