private List<GnuDisassembledInstruction> getDisassembledInstruction() throws IOException {

		List<GnuDisassembledInstruction> results = new ArrayList<>();
		String instructionLine;

		boolean error = false;
		do {
			instructionLine = buffReader.readLine();
			if (!error && instructionLine != null && !instructionLine.equals(ENDING_STRING) &&
				(instructionLine.indexOf(ADDRESS_OUT_OF_BOUNDS) < 0) &&
				!instructionLine.startsWith("Usage:") && !instructionLine.startsWith("Debug:")) {

				String instructionMetadataLine = buffReader.readLine();
				if (!instructionMetadataLine.startsWith("Info: ")) {
					// TODO, throw an "ExternalDisassemblerInterfaceException"
					// or some such
					error = true; // still need to consume remainder of input
					continue;
				}
				String[] metadata = instructionMetadataLine.substring("Info: ".length()).split(",");
				results.add(new GnuDisassembledInstruction(instructionLine.replace('\t', ' '),
					Integer.parseInt(metadata[0]), "1".equals(metadata[1]),
					Integer.parseInt(metadata[2]), Integer.parseInt(metadata[3]),
					Integer.parseInt(metadata[4])));
			}
		}
		while (instructionLine != null && !instructionLine.equals(ENDING_STRING));

		if (!disassemblerProcess.isAlive()) {
			throw new IOException("GNU disassembler process died unexpectedly.");
		}

		if (error) {
			return null;
		}

		return results;
	}
Get detailed instruction list for a block of instructions.

@param lang
           processor language (corresponding LanguageID must be defined
           within LanguageMap.txt)
@param blockAddr
           start of block ( must be true: (offset & -(2^blockSizeFactor)
           == offset)
@param blockSizeFactor
           the block size factor where blockSize = 2^blockSizeFactor
           (must be > 0)
@param byteProvider
           provider for block of bytes to be disassembled starting at
           offset 0
@return list of instructions or null if language not supported by GNU
        Disassembler
@throws Exception
Ghidra/Extensions/SleighDevTools/src/main/java/ghidra/app/util/disassemble/GNUExternalDisassembler.java