Package ghidra.pcodeCPort.translate
Class Translate
- java.lang.Object
-
- ghidra.pcodeCPort.translate.Translate
-
- All Implemented Interfaces:
BasicSpaceProvider
- Direct Known Subclasses:
SleighBase
public abstract class Translate extends java.lang.Object implements BasicSpaceProvider
-
-
Field Summary
Fields Modifier and Type Field Description protected int
alignment
protected RangeList
nohighptr
protected int
target_endian
-
Constructor Summary
Constructors Constructor Description Translate()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
addRegister(java.lang.String nm, AddrSpace base, long offset, int size)
void
addSpacebase(AddrSpace basespace, AddrSpace spc, long offset, int size)
void
allowContextSet(boolean val)
char
assignShortcut(spacetype tp)
Address
createConstFromSpace(AddrSpace spc)
void
dispose()
int
getAddrSize()
Address
getConstant(long val)
AddrSpace
getConstantSpace()
int
getDefaultSize()
AddrSpace
getDefaultSpace()
AddrSpace
getFspecSpace()
AddrSpace
getIopSpace()
AddrSpace
getNextSpaceInOrder(AddrSpace spc)
abstract VarnodeData
getRegister(java.lang.String nm)
abstract java.lang.String
getRegisterName(AddrSpace base, long off, int size)
AddrSpace
getSpace(int i)
VarnodeData
getSpacebase(AddrSpace basespace, int i)
AddrSpace
getSpaceByName(java.lang.String nm)
AddrSpace
getSpaceByShortcut(char sc)
AddrSpace
getSpaceBySpacebase(Address loc, int size)
AddrSpace
getStackSpace()
long
getUniqueBase()
AddrSpace
getUniqueSpace()
abstract void
getUserOpNames(VectorSTL<java.lang.String> res)
boolean
highPtrPossible(Address loc, int size)
abstract void
initialize(DocumentStorage store)
void
insertSpace(AddrSpace spc)
abstract int
instructionLength(Address baseaddr)
boolean
isBigEndian()
int
numSpacebase(AddrSpace basespace)
int
numSpaces()
void
parseNoHighPtr(org.jdom.Element el)
This routine is used by the initialization process to add address ranges to which there is never an (indirect) pointer Should only be called during initializationvoid
parseSpacebase(org.jdom.Element el)
void
parseStackPointer(org.jdom.Element el)
abstract int
printAssembly(java.io.PrintStream s, int size, Address baseaddr)
protected void
registerContext(java.lang.String name, int sbit, int ebit)
protected void
restoreXmlSpaces(org.jdom.Element el)
void
setContextDefault(java.lang.String name, int val)
void
setDefaultSpace(int index)
void
setLanguage(java.lang.String processorFile)
protected void
setUniqueBase(long val)
-
-
-
Field Detail
-
nohighptr
protected RangeList nohighptr
-
alignment
protected int alignment
-
target_endian
protected int target_endian
-
-
Method Detail
-
setUniqueBase
protected void setUniqueBase(long val)
-
isBigEndian
public boolean isBigEndian()
-
getAddrSize
public int getAddrSize()
-
getDefaultSize
public int getDefaultSize()
-
getUniqueBase
public long getUniqueBase()
-
getIopSpace
public AddrSpace getIopSpace()
-
getFspecSpace
public AddrSpace getFspecSpace()
-
getStackSpace
public AddrSpace getStackSpace()
-
getUniqueSpace
public AddrSpace getUniqueSpace()
-
getDefaultSpace
public AddrSpace getDefaultSpace()
- Specified by:
getDefaultSpace
in interfaceBasicSpaceProvider
-
getConstantSpace
public AddrSpace getConstantSpace()
- Specified by:
getConstantSpace
in interfaceBasicSpaceProvider
-
getConstant
public Address getConstant(long val)
-
numSpaces
public int numSpaces()
-
getSpace
public AddrSpace getSpace(int i)
-
highPtrPossible
public boolean highPtrPossible(Address loc, int size)
-
initialize
public abstract void initialize(DocumentStorage store)
-
registerContext
protected void registerContext(java.lang.String name, int sbit, int ebit)
-
setContextDefault
public void setContextDefault(java.lang.String name, int val)
-
addRegister
public abstract void addRegister(java.lang.String nm, AddrSpace base, long offset, int size)
-
getRegister
public abstract VarnodeData getRegister(java.lang.String nm)
-
getRegisterName
public abstract java.lang.String getRegisterName(AddrSpace base, long off, int size)
-
getUserOpNames
public abstract void getUserOpNames(VectorSTL<java.lang.String> res)
-
instructionLength
public abstract int instructionLength(Address baseaddr)
-
printAssembly
public abstract int printAssembly(java.io.PrintStream s, int size, Address baseaddr)
-
restoreXmlSpaces
protected void restoreXmlSpaces(org.jdom.Element el)
-
getSpaceByName
public AddrSpace getSpaceByName(java.lang.String nm)
-
getSpaceByShortcut
public AddrSpace getSpaceByShortcut(char sc)
-
numSpacebase
public int numSpacebase(AddrSpace basespace)
-
getSpacebase
public VarnodeData getSpacebase(AddrSpace basespace, int i)
-
insertSpace
public void insertSpace(AddrSpace spc)
-
setDefaultSpace
public void setDefaultSpace(int index)
-
assignShortcut
public char assignShortcut(spacetype tp)
-
parseStackPointer
public void parseStackPointer(org.jdom.Element el)
-
parseSpacebase
public void parseSpacebase(org.jdom.Element el)
-
parseNoHighPtr
public void parseNoHighPtr(org.jdom.Element el)
This routine is used by the initialization process to add address ranges to which there is never an (indirect) pointer Should only be called during initialization- Parameters:
el
- is the parse XML describing the address range
-
dispose
public void dispose()
-
setLanguage
public void setLanguage(java.lang.String processorFile)
-
allowContextSet
public void allowContextSet(boolean val)
-
-