ROSE  0.10.4.0
InstructionEnumsArm.h
1 #ifndef ROSE_BinaryAnalysis_InstructionEnumsArm_H
2 #define ROSE_BinaryAnalysis_InstructionEnumsArm_H
3 
4 #include <rosePublicConfig.h>
5 #ifdef ROSE_BUILD_BINARY_ANALYSIS_SUPPORT
6 
7 #include <string>
8 
9 namespace Rose {
10 namespace BinaryAnalysis {
11 
16 };
17 
22 };
23 
26  arm_unknown_instruction = 0,
58  arm_ldruh, /*synonym for ldrh?*/
94  arm_smluwb, /*should this be smulwb?*/
95  arm_smluwt, /*should this be smulwt?*/
124  arm_undefined,
125  arm_last_instruction
126 };
127 
128 // These are one more than the ARM condition codes in the instruction encoding, so the order is important
131  arm_cond_unknown = 0,
141  arm_cond_ls = 10,
142  arm_cond_ge = 11,
143  arm_cond_lt = 12,
144  arm_cond_gt = 13,
145  arm_cond_le = 14,
146  arm_cond_al = 15,
147  arm_cond_nv = 16 /*??*/
148 };
149 
150 } // namespace
151 } // namespace
152 
153 #endif
154 #endif
signed multiply long 16 * 16 bit and accumulate long
add with carry and update condition word
unsigned higher (greater than, or unordered)
carry set/unsigned higher or same (greater than or equal, or unordered)
signed multiply long 16 * 16 bit
signed multiply long and accumulate 32 * 16 bit
add and update condition word
signed multiply long and accumulate 16 * 16 bit
signed multiply long and update condition word
signed multiply long 16 * 16 bit
signed multiply long and accumulate 16 * 16 bit
signed less than or equal (less than or equal, or unordered)
ArmProgramStatusRegister
ARM program status registers.
Saved program status register.
ArmRegisterClass
ARM register classes.
bitwise OR and update condition word
signed multiply long and accumulate 16 * 16 bit
signed multiply long 16 * 16 bit and accumulate long
signed multiply long 16 * 16 bit and accumulate long
load byte user mode privilege
pop or block data load, decrement before
multiply double accumulate long
push or block data store
signed multiply long and accumulate 16 * 16 bit
push or block data store, increment before
carry clear/unsigned lower (less than)
signed multiply long and accumulate long
signed less than (less than, or unordered)
bit clear (op1 AND NOT op2)
signed multiply long 16 * 16 bit
Main namespace for the ROSE library.
multiply and accumulate
bitwise exclusive-EOR and update condition word
double saturating subtract
multiply unsigned long and update condition word
overflow (unordered [at least one NaN operand)
multiply unsigned accumulate long and update condition word
signed greater than or equal (greater than or equal)
push or block data store, increment after
reverse subtract with carry and update condition word
ArmInstructionCondition
ARM condition fields.
store word user mode privilege
multiply unsigned accumulate long
branch and change to Java state
signed multiply long 16 * 16 bit and accumulate long
move NOT and update condition word
branch with link and exchange
pop or block data load, increment before
no overflow (not unordered)
load word user mode privilege
store byte user mode privilege
reverse subtract and update condition word
subtract with carry and update condition word
move and update condition word
bitwise AND and update condition word
bit clear and update condition word
push or block data store, decrement after
subtract and update condition word
reverse subtract with carry
signed multiply long 16 * 16 bit
multiply and accumulate and update condition word
positive or zero (greater than or equal, or unordered)
signed greater than (greater than)
pop or block data load, decrement after
unsigned lower or same (less than or equal)
pop or block data load, increment after
Current program status register.
signed multiply long and accumulate long and update condition word
signed multiply long and accumulate 32 * 16 bit
multiply and update condition word
push or block data store, decrement before
ArmInstructionKind
ARM instruction types.