decompiler
1.0.0
|
All the individual p-code operations. More...
#include <string>
Functions | |
const char * | get_opname (OpCode opc) |
Convert an OpCode to the name as a string. More... | |
OpCode | get_opcode (const string &nm) |
Convert a name string to the matching OpCode. More... | |
OpCode | get_booleanflip (OpCode opc, bool &reorder) |
Get the complementary OpCode. More... | |
All the individual p-code operations.
enum OpCode |
The op-code defining a specific p-code operation (PcodeOp)
These break up into categories:
Get the complementary OpCode.
Every comparison operation has a complementary form that produces the opposite output on the same inputs. Set reorder to true if the complimentary operation involves reordering the input parameters.
opc | is the OpCode to complement |
reorder | is set to true if the inputs need to be reordered |
References CPUI_BOOL_NEGATE, CPUI_COPY, CPUI_FLOAT_EQUAL, CPUI_FLOAT_LESS, CPUI_FLOAT_LESSEQUAL, CPUI_FLOAT_NOTEQUAL, CPUI_INT_EQUAL, CPUI_INT_LESS, CPUI_INT_LESSEQUAL, CPUI_INT_NOTEQUAL, CPUI_INT_SLESS, CPUI_INT_SLESSEQUAL, and CPUI_MAX.
Referenced by RuleBoolNegate::applyOp(), PrintC::checkPrintNegation(), ConditionMarker::finalJudgement(), and opFlipInPlaceExecute().
OpCode get_opcode | ( | const string & | nm | ) |
Convert a name string to the matching OpCode.
nm | is the name of an operation |
References CPUI_MAX.
const char* get_opname | ( | OpCode | opc | ) |
Convert an OpCode to the name as a string.
opc | is an OpCode value |
Referenced by OpBehavior::evaluateBinary(), OpBehavior::evaluateUnary(), EmulateSnippet::executeBranchind(), EmulateSnippet::executeCall(), EmulateSnippet::executeCallind(), EmulateSnippet::executeCallother(), EmulateSnippet::executeCpoolRef(), EmulateSnippet::executeIndirect(), EmulateSnippet::executeMultiequal(), EmulateSnippet::executeNew(), EmulateSnippet::executeSegmentOp(), EmulateSnippet::executeStore(), and BlockCondition::saveXmlHeader().