26 lines
633 B
C
26 lines
633 B
C
|
//---
|
||
|
// fxos.disasm-passes.pcrel: Resolution of PC-relative addresses
|
||
|
//
|
||
|
// This pass computes all PC-relatives addresses used in fixed-target jumps and
|
||
|
// in PC-relative mov instructions. It does so by setting the location of each
|
||
|
// PC-relative argument to the associated constant value.
|
||
|
//---
|
||
|
|
||
|
#ifndef FXOS_DISASM_PASSES_PCREL_H
|
||
|
#define FXOS_DISASM_PASSES_PCREL_H
|
||
|
|
||
|
#include <fxos/disassembly.h>
|
||
|
|
||
|
namespace FxOS {
|
||
|
|
||
|
class PcrelPass: public DisassemblyPass
|
||
|
{
|
||
|
public:
|
||
|
PcrelPass(Disassembly &disasm);
|
||
|
void analyze(uint32_t pc, ConcreteInstruction &inst) override;
|
||
|
};
|
||
|
|
||
|
} /* namespace FxOS */
|
||
|
|
||
|
#endif /* FXOS_DISASM_PASSES_PCREL_H */
|