public List<GnuDisassembledInstruction> getBlockDisassembly(Program program, Address addr,
			int blockSizeFactor) throws Exception {

		if (blockSizeFactor < 0 || blockSizeFactor > 8) {
			throw new IllegalArgumentException("blockSizeFactor must be > 0 and <= 8");
		}
		int blockSize = pow2(blockSizeFactor);

		Address blockAddr = addr.getNewAddress(addr.getOffset() & -blockSize); // block
		// aligned
		// address

		return getBlockDisassembly(program.getLanguage(), blockAddr, blockSizeFactor,
			new MemoryByteProvider(program.getMemory(), blockAddr));
	}
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