Ghidra Decompiler Analysis Engine
|
Go to the documentation of this file.
19 #ifndef __CPUI_OPCODES__
20 #define __CPUI_OPCODES__
@ CPUI_FLOAT_ROUND
Round towards nearest.
Definition: opcodes.hh:106
@ CPUI_FLOAT_NAN
Not-a-number test (NaN)
Definition: opcodes.hh:91
@ CPUI_PIECE
Concatenate.
Definition: opcodes.hh:114
@ CPUI_CPOOLREF
Recover a value from the constant pool.
Definition: opcodes.hh:121
@ CPUI_INT_NEGATE
Logical/bitwise negation (~)
Definition: opcodes.hh:66
@ CPUI_FLOAT_LESS
Floating-point comparison, less-than (<)
Definition: opcodes.hh:88
@ CPUI_FLOAT_LESSEQUAL
Floating-point comparison, less-than-or-equal (<=)
Definition: opcodes.hh:89
@ CPUI_INT_DIV
Integer division, unsigned (/)
Definition: opcodes.hh:74
@ CPUI_FLOAT_NEG
Floating-point negation (-)
Definition: opcodes.hh:97
@ CPUI_INT_ADD
Addition, signed or unsigned (+)
Definition: opcodes.hh:60
@ CPUI_INT_SDIV
Integer division, signed (/)
Definition: opcodes.hh:75
@ CPUI_INT_SUB
Subtraction, signed or unsigned (-)
Definition: opcodes.hh:61
const char * get_opname(OpCode opc)
Convert an OpCode to the name as a string.
Definition: opcodes.cc:58
@ CPUI_EXTRACT
Extract a bit-range.
Definition: opcodes.hh:124
@ CPUI_INT_EQUAL
Integer comparison, equality (==)
Definition: opcodes.hh:51
@ CPUI_FLOAT_SUB
Floating-point subtraction (-)
Definition: opcodes.hh:96
@ CPUI_SUBPIECE
Truncate.
Definition: opcodes.hh:115
@ CPUI_INT_LESSEQUAL
Integer comparison, unsigned less-than-or-equal (<=)
Definition: opcodes.hh:57
@ CPUI_CBRANCH
Conditional branch.
Definition: opcodes.hh:41
@ CPUI_INT_2COMP
Twos complement.
Definition: opcodes.hh:65
@ CPUI_FLOAT_ADD
Floating-point addition (+)
Definition: opcodes.hh:93
@ CPUI_BRANCHIND
Indirect branch (jumptable)
Definition: opcodes.hh:42
@ CPUI_INT_OR
Logical/bitwise or (|)
Definition: opcodes.hh:69
@ CPUI_INT_NOTEQUAL
Integer comparison, in-equality (!=)
Definition: opcodes.hh:52
@ CPUI_FLOAT_DIV
Floating-point division (/)
Definition: opcodes.hh:94
@ CPUI_INT_LEFT
Left shift (<<)
Definition: opcodes.hh:70
@ CPUI_BOOL_OR
Boolean or (||)
Definition: opcodes.hh:82
@ CPUI_INT_SRIGHT
Right shift, arithmetic (>>)
Definition: opcodes.hh:72
@ CPUI_NEW
Allocate a new object (new)
Definition: opcodes.hh:122
@ CPUI_SEGMENTOP
Look-up a segmented address.
Definition: opcodes.hh:120
@ CPUI_FLOAT_EQUAL
Floating-point comparison, equality (==)
Definition: opcodes.hh:86
@ CPUI_FLOAT_SQRT
Floating-point square root (sqrt)
Definition: opcodes.hh:99
@ CPUI_CALLIND
Call through an indirect address.
Definition: opcodes.hh:45
@ CPUI_BOOL_NEGATE
Boolean negate (!)
Definition: opcodes.hh:79
OpCode get_opcode(const string &nm)
Convert a name string to the matching OpCode.
Definition: opcodes.cc:66
@ CPUI_INT_ZEXT
Zero extension.
Definition: opcodes.hh:58
@ CPUI_INT_RIGHT
Right shift, logical (>>)
Definition: opcodes.hh:71
@ CPUI_BOOL_AND
Boolean and (&&)
Definition: opcodes.hh:81
@ CPUI_FLOAT_FLOOR
Round towards -infinity.
Definition: opcodes.hh:105
@ CPUI_INT_SREM
Remainder/modulo, signed (%)
Definition: opcodes.hh:77
@ CPUI_CALL
Call to an absolute address.
Definition: opcodes.hh:44
@ CPUI_FLOAT_CEIL
Round towards +infinity.
Definition: opcodes.hh:104
@ CPUI_MAX
Value indicating the end of the op-code values.
Definition: opcodes.hh:127
@ CPUI_POPCOUNT
Count the 1-bits.
Definition: opcodes.hh:125
@ CPUI_STORE
Store at a pointer into a specified address space.
Definition: opcodes.hh:38
@ CPUI_LOAD
Load from a pointer into a specified address space.
Definition: opcodes.hh:37
@ CPUI_INT_SEXT
Sign extension.
Definition: opcodes.hh:59
@ CPUI_MULTIEQUAL
Phi-node operator.
Definition: opcodes.hh:112
@ CPUI_INT_LESS
Integer comparison, unsigned less-than (<)
Definition: opcodes.hh:55
@ CPUI_PTRADD
Index into an array ([])
Definition: opcodes.hh:118
@ CPUI_FLOAT_NOTEQUAL
Floating-point comparison, in-equality (!=)
Definition: opcodes.hh:87
@ CPUI_BRANCH
Always branch.
Definition: opcodes.hh:40
@ CPUI_BOOL_XOR
Boolean exclusive-or (^^)
Definition: opcodes.hh:80
@ CPUI_RETURN
Return from subroutine.
Definition: opcodes.hh:47
@ CPUI_INT_XOR
Logical/bitwise exclusive-or (^)
Definition: opcodes.hh:67
@ CPUI_INT_CARRY
Test for unsigned carry.
Definition: opcodes.hh:62
@ CPUI_INT_SCARRY
Test for signed carry.
Definition: opcodes.hh:63
OpCode
The op-code defining a specific p-code operation (PcodeOp)
Definition: opcodes.hh:35
@ CPUI_FLOAT_ABS
Floating-point absolute value (abs)
Definition: opcodes.hh:98
@ CPUI_INSERT
Insert a bit-range.
Definition: opcodes.hh:123
@ CPUI_INDIRECT
Copy with an indirect effect.
Definition: opcodes.hh:113
@ CPUI_INT_AND
Logical/bitwise and (&)
Definition: opcodes.hh:68
@ CPUI_CAST
Cast from one data-type to another.
Definition: opcodes.hh:117
@ CPUI_PTRSUB
Drill down to a sub-field (->)
Definition: opcodes.hh:119
@ CPUI_INT_REM
Remainder/modulo, unsigned (%)
Definition: opcodes.hh:76
@ CPUI_FLOAT_FLOAT2FLOAT
Convert between different floating-point sizes.
Definition: opcodes.hh:102
@ CPUI_INT_SLESSEQUAL
Integer comparison, signed less-than-or-equal (<=)
Definition: opcodes.hh:54
OpCode get_booleanflip(OpCode opc, bool &reorder)
Get the complementary OpCode.
Definition: opcodes.cc:92
@ CPUI_INT_SBORROW
Test for signed borrow.
Definition: opcodes.hh:64
@ CPUI_COPY
Copy one operand to another.
Definition: opcodes.hh:36
@ CPUI_FLOAT_MULT
Floating-point multiplication (*)
Definition: opcodes.hh:95
@ CPUI_FLOAT_TRUNC
Round towards zero.
Definition: opcodes.hh:103
@ CPUI_FLOAT_INT2FLOAT
Convert an integer to a floating-point.
Definition: opcodes.hh:101
@ CPUI_INT_MULT
Integer multiplication, signed and unsigned (*)
Definition: opcodes.hh:73
@ CPUI_INT_SLESS
Integer comparison, signed less-than (<)
Definition: opcodes.hh:53
@ CPUI_CALLOTHER
User-defined operation.
Definition: opcodes.hh:46