@Test
	public void testDisassemblerDelaySlotFirst() throws Exception {

		programBuilder.addBytesBranch(6, 12);

		programBuilder.addBytesCallWithDelaySlot(10, 30);
		programBuilder.addBytesBranchConditional(14, 20);
		programBuilder.addBytesReturn(16);

		programBuilder.addBytesFallthrough(20);
		programBuilder.addBytesBranch(22, 10);

		programBuilder.addBytesReturn(30);

		AddressSetView disAddrs = disassembler.disassemble(addr(6), null);
		assertEquals(addrset(range(6, 7), range(10, 17), range(20, 23), range(30, 31)), disAddrs);

		verifyInstructionPresence();

		verifyNoBookmarks();

		Instruction instr = listing.getInstructionAt(addr(10));
		assertEquals(1, instr.getDelaySlotDepth());
		instr = listing.getInstructionAt(addr(12));
		assertTrue(instr.isInDelaySlot());

	}
+--  6: bral   12   (start)
|
|   10: callds 30 <-+ -+
+-> 12: _or         |  |
    14: breq 20 --+ |  |
    16: ret       | |  |
                  | |  |
    20: or   <----+ |  |
    22: bral 10 ----+  |
                       |
    30: ret  <---------+
    
Test delay slot disassembled first
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/program/disassemble/DisassemblerTest.java