@Override
	public String getDisassemblyOfBytes(Language language, boolean isBigEndian, long addressOffset,
			byte[] bytes) throws Exception {

		GdisConfig gdisConfig = new GdisConfig(language, isBigEndian);
		if (gdisConfig.architecture == UNSUPPORTED || gdisConfig.gdisExecFile == null) {
			return null;
		}

		String bytesString = converBytesToString(bytes);

		String address = "0x" + Long.toHexString(addressOffset);

		List<GnuDisassembledInstruction> disassembly =
			runDisassembler(gdisConfig, address, bytesString, EMPTY_DISASSEMBLER_OPTIONS);

		if (disassembly == null || disassembly.isEmpty() || disassembly.get(0) == null) {
			return "(bad)";
		}
		return disassembly.get(0).toString();
	}
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