Package ghidra.program.disassemble
Class ReDisassembler.ReDisBlock
java.lang.Object
ghidra.program.disassemble.ReDisassembler.ReDisBlock
- Enclosing class:
ReDisassembler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final InstructionBlockprotected final DisassemblerContextImplprotected final ghidra.program.disassemble.ReDisassembler.Flowprotected PseudoInstructionprotected final ReDisassembler.ReDisState -
Constructor Summary
ConstructorsConstructorDescriptionReDisBlock(ReDisassembler.ReDisState state, ghidra.program.disassemble.ReDisassembler.Flow entry) -
Method Summary
Modifier and TypeMethodDescriptionprotected PseudoInstructioncreateInstruction(Address address, InstructionPrototype prototype, MemBuffer memBuffer, ProcessorContext ctx) protected InstructionBlockprotected InstructionnextInstruction(ghidra.program.disassemble.ReDisassembler.Flow flow, boolean isInDelaySlot) protected ghidra.program.disassemble.ReDisassembler.FlownextInstructionsWithDelays(ghidra.program.disassemble.ReDisassembler.Flow flow) Parse the next instructions, including delay-slotted onesprotected voidprocessInstruction(Instruction instruction) protected voidrecordContext(Address to) protected booleanshouldDisassemble(ghidra.program.disassemble.ReDisassembler.Flow flow)
-
Field Details
-
state
-
entry
protected final ghidra.program.disassemble.ReDisassembler.Flow entry -
block
-
disassemblerContext
-
lastInstruction
-
-
Constructor Details
-
ReDisBlock
public ReDisBlock(ReDisassembler.ReDisState state, ghidra.program.disassemble.ReDisassembler.Flow entry)
-
-
Method Details
-
recordContext
-
createInstruction
protected PseudoInstruction createInstruction(Address address, InstructionPrototype prototype, MemBuffer memBuffer, ProcessorContext ctx) throws AddressOverflowException - Throws:
AddressOverflowException
-
shouldDisassemble
protected boolean shouldDisassemble(ghidra.program.disassemble.ReDisassembler.Flow flow) -
nextInstruction
protected Instruction nextInstruction(ghidra.program.disassemble.ReDisassembler.Flow flow, boolean isInDelaySlot) throws CancelledException - Throws:
CancelledException
-
nextInstructionsWithDelays
protected ghidra.program.disassemble.ReDisassembler.Flow nextInstructionsWithDelays(ghidra.program.disassemble.ReDisassembler.Flow flow) throws CancelledException Parse the next instructions, including delay-slotted ones- Parameters:
flow- theReDisassembler.Flow- Returns:
- the if the first instruction has fall-through, the flow out from the last instruction parsed. Without delay slots, the first instruction is the last instruction.
- Throws:
CancelledException
-
processInstruction
-
disassembleBlock
- Throws:
CancelledException
-