Package ghidra.program.disassemble
Class ReDisassembler.ReDisBlock
java.lang.Object
ghidra.program.disassemble.ReDisassembler.ReDisBlock
- Enclosing class:
ReDisassembler
-
Field Summary
Modifier and TypeFieldDescriptionprotected final InstructionBlock
protected final DisassemblerContextImpl
protected final ghidra.program.disassemble.ReDisassembler.Flow
protected PseudoInstruction
protected final ReDisassembler.ReDisState
-
Constructor Summary
ConstructorDescriptionReDisBlock
(ReDisassembler.ReDisState state, ghidra.program.disassemble.ReDisassembler.Flow entry) -
Method Summary
Modifier and TypeMethodDescriptionprotected PseudoInstruction
createInstruction
(Address address, InstructionPrototype prototype, MemBuffer memBuffer, ProcessorContext ctx) protected InstructionBlock
protected Instruction
nextInstruction
(ghidra.program.disassemble.ReDisassembler.Flow flow, boolean isInDelaySlot) protected ghidra.program.disassemble.ReDisassembler.Flow
nextInstructionsWithDelays
(ghidra.program.disassemble.ReDisassembler.Flow flow) Parse the next instructions, including delay-slotted onesprotected void
processInstruction
(Instruction instruction) protected void
recordContext
(Address to) protected boolean
shouldDisassemble
(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
-