Main Page   Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

fields_ppc.h File Reference


Typedefs

typedef int32 inst_t

Enumerations

enum  OPCD_codes { opcd_Branch, opcd_BranchConditional, opcd_BranchConditionalToSpecialRegister, opcd_ConditionRegisterLogical, opcd_AndImmediate, opcd_AndImmediateShifted, opcd_OrImmediate, opcd_OrImmediateShifted, opcd_XorImmediate, opcd_XorImmediateShifted, opcd_CompareImmediate, opcd_CompareLogicalImmediate, opcd_AddImmediate, opcd_AddImmediateShifted, opcd_AddImmediateCarrying, opcd_AddImmediateCarryingAndRecord, opcd_SubtractFromImmediateCarrying, opcd_MultiplyLowImmediate, opcd_LoadByteAndZero, opcd_LoadByteAndZeroWithUpdate, opcd_LoadHalfwordAndZero, opcd_LoadHalfwordAndZeroWithUpdate, opcd_LoadHalfwordAlgebraic, opcd_LoadHalfwordAlgebraicWithUpdate, opcd_LoadWordAndZero, opcd_LoadWordAndZeroWithUpdate, opcd_LoadDS, opcd_StoreByte, opcd_StoreByteWithUpdate, opcd_StoreHalfword, opcd_StoreHalfwordWithUpdate, opcd_StoreWord, opcd_StoreWordWithUpdate, opcd_StoreDS, opcd_LoadMultipleWord, opcd_StoreMultipleWord, opcd_XO, opcd_SystemCall, opcd_TrapWordImmediate, opcd_TrapDoublewordImmediate, opcd_DoublewordRotate, opcd_RotateLeftWordThenAndMaskImm, opcd_RotateLeftWordThenAndMask, opcd_RotateLeftWordImmThenMaskInsert }
enum  XOpExts { BcrLinkRegXOp, BcrCountRegXOp, CrlAndXOp, CrlOrXOp, CrlXorXOp, CrlNandXOp, CrlNorXOp, CrlEqvXOp, CrlAndcXOp, CrlOrcXOp, LoadByteAndZeroXOp, LoadByteAndZeroUpdateXOp, LoadHalfwordAndZeroXOp, LoadHalfwordAndZeroUpdateXOp, LoadHalfwordAlgebraicXOp, LoadHalfwordAlgebraicUpdateXOp, LoadWordAndZeroXOp, LoadWordAndZeroUpdateXOp, LoadWordAlgebraicXOp, LoadWordAlgebraicUpdateXOp, LoadDoublewordXOp, LoadDoublewordUpdateXOp, StoreByteXOp, StoreByteUpdateXOp, StoreHalfwordXOp, StoreHalfwordUpdateXOp, StoreWordXOp, StoreWordUpdateXOp, StoreDoublewordXOp, StoreDoublewordUpdateXOp, LoadHalfwordByteReversedXOp, LoadWordByteReversedXOp, StoreHalfwordByteReversedXOp, StoreWordByteReveresedXOp, LoadStringWordXOp, StoreStringWordXOp, LoadStringWordImmediateXOp, StoreStringWordImmediateXOp, LoadWordAndReserveXOp, LoadDoublewordAndReserveXOp, StoreWordConditionalXOp, StoreDoublewordConditionalXOp, SynchronizeXOp, AddXOp, SubtractFromXOp, AddCarryingXOp, SubtractFromCarryingXOp, AddExtendedXOp, SubtractFromExtendedXOp, AddToMinusOneExtendedXOp, SubtractFromMinusOneExtendedXOp, AddToZeroExtendedXOp, SubtractFromZeroExtendedXOp, NegateXOp, MultiplyLowDoublewordXOp, MultiplyLowWordXOp, MultiplyHighDoublewordXOp, MultiplyHighWordXOp, MultiplyHighDoublewordUnsignedXOp, MultiplyHighWordUnsignedXOp, DivideDoublewordXOp, DivideWordXOp, DivideDoublewordUnsignedXOp, DivideWordUnsignedXOp, CompareXOp, CompareLogicalXOp, TrapWordXOp, TrapDoublewordXOp, AndXOp, OrXOp, XorXOp, NandXOp, NorXOp, EquivalentXOp, AndWithComplementXOp, OrWithComplementXOp, ExtendSignByteXOp, ExtendSignHalfwordXOp, ExtendSignWordXOp, CountLeadingZerosDoublewordXOp, CountLeadingZerosWordXOp, MoveToSpecialRegXOp, MoveFromSpecialRegXOp, MoveToConditionRegisterXOp, MoveToConditionRegisterFromXERXOp, MoveFromConditionRegisterXOp, ShiftLeftDoublewordXOp, ShiftLeftWordXOp, ShiftRightDoublewordXOp, ShiftRightWordXOp, ShiftRightAlgebraicDoublewordXOp, ShiftRightAlgebraicWordXOp, ShiftRightAlgebraicDoublewordImmediateXOp, ShiftRightAlgebraicWordImmediateXOp }
enum  DSXOp { dsx_WordAlgebraic, dsx_Doubleword, dsx_DoublewordUpdate }
enum  SPR_code { spr_XER, spr_LR, spr_CTR }

Functions

fint OP (inst_t inst)
fint XOP1 (inst_t inst)
fint SPR (inst_t inst)
bool isAddingInst (inst_t inst)
inst_t signExtend (int32 field_bit_size, int32 i)
inst_t linkBit (inst_t inst)
inst_t absoluteBit (inst_t inst)
inst_t RA (inst_t inst)
inst_t RT (inst_t inst)
inst_t RS (inst_t inst)
inst_t UI (inst_t i)
void set_ui (inst_t* instp, uint16 newVal)
int32 SI (inst_t i)
void set_si (inst_t* instp, int16 newVal)
bool fits_within_li (int32 i)
bool fits_within_si (int32 i)
bool fits_within_ui (int32 i)
bool is_immediate_pair (inst_t* instp)
int32 immediate_pair_target (inst_t* instp)
bool isBranch (inst_t* instp)
bool isImmediateBranch (inst_t* instp)
bool is_ori (inst_t inst)
bool is_oris (inst_t inst)
bool is_branch_to_ctr (inst_t inst)
bool is_branch_to_lr (inst_t inst)
bool is_addi (inst_t inst)
bool is_addis (inst_t inst)
bool is_lis (inst_t inst)
bool is_mtctr (inst_t inst)
bool is_mtlr (inst_t inst)
bool is_mflr (inst_t inst)
bool isCall (inst_t* instp)
bool isImmediateCall (inst_t* instp)
bool isBranchAbsolute (inst_t inst)
bool is_lmw (pc_t x)
bool is_stmw (pc_t x)
bool is_stw (inst_t i)
bool is_stwu (inst_t i)
bool is_lwz (inst_t i)
bool isLoadWord (int* instp)
int32 getArithImm (int* instp)
bool is_load_store_immediate (inst_t i)
bool isUnconditionalImmediateBranch (inst_t inst)
int32 unconditionalImmediateBranch_target (inst_t* instp)
int32 conditionalImmediateBranch_target (inst_t* instp)
void set_unconditionalImmediateBranch_target (inst_t* instp, int32 nv)
void set_conditionalImmediateBranch_target (inst_t* instp, int32 nv)
void set_immediate_pair_target (inst_t *instp, int32 nv)
int32 displacementBits (inst_t inst)
pc_t get_target_of_branch_instruction (inst_t* instp)
pc_t get_target_of_Self_call_site ( inst_t* instp)
pc_t get_target_of_C_call_site ( inst_t* instp)
void set_target_of_branch_instruction (inst_t* instp, void* target)
void set_target_of_Self_call_site ( inst_t* instp, void* target)

Variables

const li_bits
const bd_bits
const ui_bits
const si_bits
const li_mask
const bd_mask
const ui_mask
const si_mask


Typedef Documentation

typedef int32 inst_t


Enumeration Type Documentation

enum OPCD_codes

Enumeration values:
opcd_Branch  
opcd_BranchConditional  
opcd_BranchConditionalToSpecialRegister  
opcd_ConditionRegisterLogical  
opcd_AndImmediate  
opcd_AndImmediateShifted  
opcd_OrImmediate  
opcd_OrImmediateShifted  
opcd_XorImmediate  
opcd_XorImmediateShifted  
opcd_CompareImmediate  
opcd_CompareLogicalImmediate  
opcd_AddImmediate  
opcd_AddImmediateShifted  
opcd_AddImmediateCarrying  
opcd_AddImmediateCarryingAndRecord  
opcd_SubtractFromImmediateCarrying  
opcd_MultiplyLowImmediate  
opcd_LoadByteAndZero  
opcd_LoadByteAndZeroWithUpdate  
opcd_LoadHalfwordAndZero  
opcd_LoadHalfwordAndZeroWithUpdate  
opcd_LoadHalfwordAlgebraic  
opcd_LoadHalfwordAlgebraicWithUpdate  
opcd_LoadWordAndZero  
opcd_LoadWordAndZeroWithUpdate  
opcd_LoadDS  
opcd_StoreByte  
opcd_StoreByteWithUpdate  
opcd_StoreHalfword  
opcd_StoreHalfwordWithUpdate  
opcd_StoreWord  
opcd_StoreWordWithUpdate  
opcd_StoreDS  
opcd_LoadMultipleWord  
opcd_StoreMultipleWord  
opcd_XO  
opcd_SystemCall  
opcd_TrapWordImmediate  
opcd_TrapDoublewordImmediate  
opcd_DoublewordRotate  
opcd_RotateLeftWordThenAndMaskImm  
opcd_RotateLeftWordThenAndMask  
opcd_RotateLeftWordImmThenMaskInsert  

enum XOpExts

Enumeration values:
BcrLinkRegXOp  
BcrCountRegXOp  
CrlAndXOp  
CrlOrXOp  
CrlXorXOp  
CrlNandXOp  
CrlNorXOp  
CrlEqvXOp  
CrlAndcXOp  
CrlOrcXOp  
LoadByteAndZeroXOp  
LoadByteAndZeroUpdateXOp  
LoadHalfwordAndZeroXOp  
LoadHalfwordAndZeroUpdateXOp  
LoadHalfwordAlgebraicXOp  
LoadHalfwordAlgebraicUpdateXOp  
LoadWordAndZeroXOp  
LoadWordAndZeroUpdateXOp  
LoadWordAlgebraicXOp  
LoadWordAlgebraicUpdateXOp  
LoadDoublewordXOp  
LoadDoublewordUpdateXOp  
StoreByteXOp  
StoreByteUpdateXOp  
StoreHalfwordXOp  
StoreHalfwordUpdateXOp  
StoreWordXOp  
StoreWordUpdateXOp  
StoreDoublewordXOp  
StoreDoublewordUpdateXOp  
LoadHalfwordByteReversedXOp  
LoadWordByteReversedXOp  
StoreHalfwordByteReversedXOp  
StoreWordByteReveresedXOp  
LoadStringWordXOp  
StoreStringWordXOp  
LoadStringWordImmediateXOp  
StoreStringWordImmediateXOp  
LoadWordAndReserveXOp  
LoadDoublewordAndReserveXOp  
StoreWordConditionalXOp  
StoreDoublewordConditionalXOp  
SynchronizeXOp  
AddXOp  
SubtractFromXOp  
AddCarryingXOp  
SubtractFromCarryingXOp  
AddExtendedXOp  
SubtractFromExtendedXOp  
AddToMinusOneExtendedXOp  
SubtractFromMinusOneExtendedXOp  
AddToZeroExtendedXOp  
SubtractFromZeroExtendedXOp  
NegateXOp  
MultiplyLowDoublewordXOp  
MultiplyLowWordXOp  
MultiplyHighDoublewordXOp  
MultiplyHighWordXOp  
MultiplyHighDoublewordUnsignedXOp  
MultiplyHighWordUnsignedXOp  
DivideDoublewordXOp  
DivideWordXOp  
DivideDoublewordUnsignedXOp  
DivideWordUnsignedXOp  
CompareXOp  
CompareLogicalXOp  
TrapWordXOp  
TrapDoublewordXOp  
AndXOp  
OrXOp  
XorXOp  
NandXOp  
NorXOp  
EquivalentXOp  
AndWithComplementXOp  
OrWithComplementXOp  
ExtendSignByteXOp  
ExtendSignHalfwordXOp  
ExtendSignWordXOp  
CountLeadingZerosDoublewordXOp  
CountLeadingZerosWordXOp  
MoveToSpecialRegXOp  
MoveFromSpecialRegXOp  
MoveToConditionRegisterXOp  
MoveToConditionRegisterFromXERXOp  
MoveFromConditionRegisterXOp  
ShiftLeftDoublewordXOp  
ShiftLeftWordXOp  
ShiftRightDoublewordXOp  
ShiftRightWordXOp  
ShiftRightAlgebraicDoublewordXOp  
ShiftRightAlgebraicWordXOp  
ShiftRightAlgebraicDoublewordImmediateXOp  
ShiftRightAlgebraicWordImmediateXOp  

enum DSXOp

Enumeration values:
dsx_WordAlgebraic  
dsx_Doubleword  
dsx_DoublewordUpdate  

enum SPR_code

Enumeration values:
spr_XER  
spr_LR  
spr_CTR  

Function Documentation

fint OP (inst_t inst) [inline]

fint XOP1 (inst_t inst) [inline]

fint SPR (inst_t inst) [inline]

bool isAddingInst (inst_t inst) [inline]

inst_t signExtend (int32 field_bit_size, int32 i) [inline]

inst_t linkBit (inst_t inst) [inline]

inst_t absoluteBit (inst_t inst) [inline]

inst_t RA (inst_t inst) [inline]

inst_t RT (inst_t inst) [inline]

inst_t RS (inst_t inst) [inline]

inst_t UI (inst_t i) [inline]

void set_ui (inst_t * instp, uint16 newVal) [inline]

int32 SI (inst_t i) [inline]

void set_si (inst_t * instp, int16 newVal) [inline]

bool fits_within_li (int32 i) [inline]

bool fits_within_si (int32 i) [inline]

bool fits_within_ui (int32 i) [inline]

bool is_immediate_pair (inst_t * instp)

int32 immediate_pair_target (inst_t * instp)

bool isBranch (inst_t * instp) [inline]

bool isImmediateBranch (inst_t * instp) [inline]

bool is_ori (inst_t inst) [inline]

bool is_oris (inst_t inst) [inline]

bool is_branch_to_ctr (inst_t inst) [inline]

bool is_branch_to_lr (inst_t inst) [inline]

bool is_addi (inst_t inst) [inline]

bool is_addis (inst_t inst) [inline]

bool is_lis (inst_t inst) [inline]

bool is_mtctr (inst_t inst) [inline]

bool is_mtlr (inst_t inst) [inline]

bool is_mflr (inst_t inst) [inline]

bool isCall (inst_t * instp) [inline]

bool isImmediateCall (inst_t * instp) [inline]

bool isBranchAbsolute (inst_t inst) [inline]

bool is_lmw (pc_t x) [inline]

bool is_stmw (pc_t x) [inline]

bool is_stw (inst_t i) [inline]

bool is_stwu (inst_t i) [inline]

bool is_lwz (inst_t i) [inline]

bool isLoadWord (int * instp) [inline]

int32 getArithImm (int * instp) [inline]

bool is_load_store_immediate (inst_t i) [inline]

bool isUnconditionalImmediateBranch (inst_t inst) [inline]

int32 unconditionalImmediateBranch_target (inst_t * instp) [inline]

int32 conditionalImmediateBranch_target (inst_t * instp) [inline]

void set_unconditionalImmediateBranch_target (inst_t * instp, int32 nv) [inline]

void set_conditionalImmediateBranch_target (inst_t * instp, int32 nv) [inline]

void set_immediate_pair_target (inst_t * instp, int32 nv)

int32 displacementBits (inst_t inst) [inline]

pc_t get_target_of_branch_instruction (inst_t * instp)

pc_t get_target_of_Self_call_site (inst_t * instp)

pc_t get_target_of_C_call_site (inst_t * instp)

void set_target_of_branch_instruction (inst_t * instp, void * newVal)

void set_target_of_Self_call_site (inst_t * instp, void * target)


Variable Documentation

const li_bits

const bd_bits

const ui_bits

const si_bits

const li_mask

const bd_mask

const ui_mask

const si_mask


Generated at Tue Jun 27 12:06:46 2000 for SelfVM by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999