diff options
Diffstat (limited to 'src/arch/dalvik/instruction-def.h')
| -rw-r--r-- | src/arch/dalvik/instruction-def.h | 103 | 
1 files changed, 73 insertions, 30 deletions
| diff --git a/src/arch/dalvik/instruction-def.h b/src/arch/dalvik/instruction-def.h index 3959d87..6f52cf2 100644 --- a/src/arch/dalvik/instruction-def.h +++ b/src/arch/dalvik/instruction-def.h @@ -32,12 +32,13 @@ typedef enum _DalvikOpcodes      DOP_NOP,                                /* nop (0x00)                  */      DOP_MOVE,                               /* move (0x01)                 */      DOP_MOVE_FROM_16,                       /* move/from16 (0x02)          */ - +    DOP_MOVE_16,                            /* move/16 (0x03)              */ +    DOP_MOVE_WIDE,                          /* move-wide (0x04)            */      DOP_MOVE_WIDE_FROM_16,                  /* move-wide/from16 (0x05)     */ - +    DOP_MOVE_WIDE_16,                       /* move-wide/16 (0x06)         */      DOP_MOVE_OBJECT,                        /* move-object (0x07)          */      DOP_MOVE_OBJECT_FROM_16,                /* move-object/from16 (0x08)   */ - +    DOP_MOVE_OBJECT_16,                     /* move-object/16 (0x09)       */      DOP_MOVE_RESULT,                        /* move-result (0x0a)          */      DOP_MOVE_RESULT_WIDE,                   /* move-result-wide (0x0b)     */      DOP_MOVE_RESULT_OBJECT,                 /* move-result-object (0x0c)   */ @@ -57,16 +58,17 @@ typedef enum _DalvikOpcodes      DOP_CONST_STRING,                       /* const-string (0x1a)         */      DOP_CONST_STRING_JUMBO,                 /* const-string/jumbo (0x1b)   */      DOP_CONST_CLASS,                        /* const-class (0x1c)          */ - - +    DOP_MONITOR_ENTER,                      /* monitor-enter (0x1d)        */ +    DOP_MONITOR_EXIT,                       /* monitor-exit (0x1e)         */      DOP_CHECK_CAST,                         /* check-cast (0x1f)           */ - +    DOP_INSTANCE_OF,                        /* instance-of (0x20)          */      DOP_ARRAY_LENGTH,                       /* array-length (0x21)         */      DOP_NEW_INSTANCE,                       /* new-instance (0x22)         */      DOP_NEW_ARRAY,                          /* new-array (0x23)            */ - +    DOP_FILLED_NEW_ARRAY,                   /* filled-new-array (0x24)     */ +    DOP_FILLED_NEW_ARRAY_RANGE,             /* filled-new-array/range(0x25)*/      DOP_FILL_ARRAY_DATA,                    /* fill-array-data (0x26)      */ - +    DOP_THROW,                              /* throw (0x27)                */      DOP_GOTO,                               /* goto (0x28)                 */      DOP_GOTO_16,                            /* goto/16 (0x29)              */      DOP_GOTO_32,                            /* goto/32 (0x2a)              */ @@ -89,9 +91,12 @@ typedef enum _DalvikOpcodes      DOP_IF_GEZ,                             /* if-gez (0x3b)               */      DOP_IF_GTZ,                             /* if-gtz (0x3c)               */      DOP_IF_LEZ,                             /* if-lez (0x3d)               */ - - - +    DOP_UNUSED_3E,                          /* -unused- (0x3e)             */ +    DOP_UNUSED_3F,                          /* -unused- (0x3f)             */ +    DOP_UNUSED_40,                          /* -unused- (0x40)             */ +    DOP_UNUSED_41,                          /* -unused- (0x41)             */ +    DOP_UNUSED_42,                          /* -unused- (0x42)             */ +    DOP_UNUSED_43,                          /* -unused- (0x43)             */      DOP_AGET,                               /* aget (0x44)                 */      DOP_AGET_WIDE,                          /* aget-wide (0x45)            */      DOP_AGET_OBJECT,                        /* aget-object (0x46)          */ @@ -139,13 +144,20 @@ typedef enum _DalvikOpcodes      DOP_INVOKE_DIRECT,                      /* invoke-direct (0x70)        */      DOP_INVOKE_STATIC,                      /* invoke-static (0x71)        */      DOP_INVOKE_INTERFACE,                   /* invoke-interface (0x72)     */ - +    DOP_UNUSED_73,                          /* -unused- (0x73)             */      DOP_INVOKE_VIRTUAL_RANGE,               /* invoke-virtual/range (0x74) */      DOP_INVOKE_SUPER_RANGE,                 /* invoke-super/range (0x75)   */      DOP_INVOKE_DIRECT_RANGE,                /* invoke-direct/range (0x76)  */      DOP_INVOKE_STATIC_RANGE,                /* invoke-static/range (0x77)  */      DOP_INVOKE_INTERFACE_RANGE,             /* invoke-interface/rg. (0x78) */ - +    DOP_UNUSED_79,                          /* -unused- (0x79)             */ +    DOP_UNUSED_7A,                          /* -unused- (0x7a)             */ +    DOP_NEG_INT,                            /* neg-int (0x7b)              */ +    DOP_NOT_INT,                            /* not-int (0x7c)              */ +    DOP_NEG_LONG,                           /* neg-long (0x7d)             */ +    DOP_NOT_LONG,                           /* not-long (0x7e)             */ +    DOP_NEG_FLOAT,                          /* neg-float (0x7f)            */ +    DOP_NEG_DOUBLE,                         /* neg-double (0x80)           */      DOP_TO_INT_LONG,                        /* int-to-long (0x81)          */      DOP_TO_INT_FLOAT,                       /* int-to-float (0x82)         */      DOP_TO_INT_DOUBLE,                      /* int-to-double (0x83)        */ @@ -172,27 +184,27 @@ typedef enum _DalvikOpcodes      DOP_SHL_INT,                            /* shl-int (0x98)              */      DOP_SHR_INT,                            /* shr-int (0x99)              */      DOP_USHR_INT,                           /* ushr-int (0x9a)             */ - -      DOP_ADD_LONG,                           /* add-long (0x9b)             */      DOP_SUB_LONG,                           /* sub-long (0x9c)             */      DOP_MUL_LONG,                           /* mul-long (0x9d)             */      DOP_DIV_LONG,                           /* div-long (0x9e)             */ - - +    DOP_REM_LONG,                           /* rem-long (0x9f)             */ +    DOP_AND_LONG,                           /* and-long (0xa0)             */ +    DOP_OR_LONG,                            /* or-long (0xa1)              */ +    DOP_XOR_LONG,                           /* xor-long (0xa2)             */      DOP_SHL_LONG,                           /* shl-long (0xa3)             */      DOP_SHR_LONG,                           /* shr-long (0xa4)             */      DOP_USHR_LONG,                          /* ushr-long (0xa5)            */      DOP_ADD_FLOAT,                          /* add-float (0xa6)            */      DOP_SUB_FLOAT,                          /* sub-float (0xa7)            */      DOP_MUL_FLOAT,                          /* mul-float (0xa8)            */ - - +    DOP_DIV_FLOAT,                          /* mul-float (0xa9)            */ +    DOP_REM_FLOAT,                          /* mul-float (0xaa)            */      DOP_ADD_DOUBLE,                         /* add-double (0xab)           */ -    DOP_SUB_DOUBLE,                         /* add-double (0xac)           */ -    DOP_MUL_DOUBLE,                         /* add-double (0xad)           */ - - +    DOP_SUB_DOUBLE,                         /* sub-double (0xac)           */ +    DOP_MUL_DOUBLE,                         /* mul-double (0xad)           */ +    DOP_DIV_DOUBLE,                         /* div-double (0xae)           */ +    DOP_REM_DOUBLE,                         /* rem-double (0xaf)           */      DOP_ADD_INT_2ADDR,                      /* add-int/2addr (0xb0)        */      DOP_SUB_INT_2ADDR,                      /* add-int/2addr (0xb1)        */      DOP_MUL_INT_2ADDR,                      /* mul-int/2addr (0xb2)        */ @@ -207,22 +219,24 @@ typedef enum _DalvikOpcodes      DOP_ADD_LONG_2ADDR,                     /* add-long/2addr (0xbb)       */      DOP_SUB_LONG_2ADDR,                     /* sub-long/2addr (0xbc)       */      DOP_MUL_LONG_2ADDR,                     /* mul-long/2addr (0xbd)       */ - - +    DOP_DIV_LONG_2ADDR,                     /* div-long/2addr (0xbe)       */ +    DOP_REM_LONG_2ADDR,                     /* rem-long/2addr (0xbf)       */ +    DOP_AND_LONG_2ADDR,                     /* and-long/2addr (0xc0)       */ +    DOP_OR_LONG_2ADDR,                      /* or-long/2addr (0xc1)        */ +    DOP_XOR_LONG_2ADDR,                     /* xor-long/2addr (0xc2)       */      DOP_SHL_LONG_2ADDR,                     /* shl-long/2addr (0xc3)       */      DOP_SHR_LONG_2ADDR,                     /* shr-long/2addr (0xc4)       */      DOP_USHR_LONG_2ADDR,                    /* ushr-long/2addr (0xc5)      */ -      DOP_ADD_FLOAT_2ADDR,                    /* add-float/2addr (0xc6)      */      DOP_SUB_FLOAT_2ADDR,                    /* sub-float/2addr (0xc7)      */      DOP_MUL_FLOAT_2ADDR,                    /* mul-float/2addr (0xc8)      */ - +    DOP_DIV_FLOAT_2ADDR,                    /* div-float/2addr (0xc9)      */ +    DOP_REM_FLOAT_2ADDR,                    /* rem-float/2addr (0xca)      */      DOP_ADD_DOUBLE_2ADDR,                   /* add-double/2addr (0xcb)     */      DOP_SUB_DOUBLE_2ADDR,                   /* sub-double/2addr (0xcc)     */      DOP_MUL_DOUBLE_2ADDR,                   /* mul-double/2addr (0xcd)     */ - - - +    DOP_DIV_DOUBLE_2ADDR,                   /* div-double/2addr (0xce)     */ +    DOP_REM_DOUBLE_2ADDR,                   /* rem-double/2addr (0xcf)     */      DOP_ADD_INT_LIT16,                      /* add-int/lit16 (0xd0)        */      DOP_RSUB_INT,                           /* rsub-int (0xd1)             */      DOP_MUL_INT_LIT16,                      /* mul-int/lit16 (0xd2)        */ @@ -242,6 +256,35 @@ typedef enum _DalvikOpcodes      DOP_SHL_INT_LIT8,                       /* shl-int/lit8 (0xe0)         */      DOP_SHR_INT_LIT8,                       /* shr-int/lit8 (0xe1)         */      DOP_USHR_INT_LIT8,                      /* ushr-int/lit8 (0xe2)        */ +    DOP_UNUSED_E3,                          /* -unused- (0xe3)             */ +    DOP_UNUSED_E4,                          /* -unused- (0xe4)             */ +    DOP_UNUSED_E5,                          /* -unused- (0xe5)             */ +    DOP_UNUSED_E6,                          /* -unused- (0xe6)             */ +    DOP_UNUSED_E7,                          /* -unused- (0xe7)             */ +    DOP_UNUSED_E8,                          /* -unused- (0xe8)             */ +    DOP_UNUSED_E9,                          /* -unused- (0xe9)             */ +    DOP_UNUSED_EA,                          /* -unused- (0xea)             */ +    DOP_UNUSED_EB,                          /* -unused- (0xeb)             */ +    DOP_UNUSED_EC,                          /* -unused- (0xec)             */ +    DOP_UNUSED_ED,                          /* -unused- (0xed)             */ +    DOP_UNUSED_EE,                          /* -unused- (0xee)             */ +    DOP_UNUSED_EF,                          /* -unused- (0xef)             */ +    DOP_UNUSED_F0,                          /* -unused- (0xf0)             */ +    DOP_UNUSED_F1,                          /* -unused- (0xf1)             */ +    DOP_UNUSED_F2,                          /* -unused- (0xf2)             */ +    DOP_UNUSED_F3,                          /* -unused- (0xf3)             */ +    DOP_UNUSED_F4,                          /* -unused- (0xf4)             */ +    DOP_UNUSED_F5,                          /* -unused- (0xf5)             */ +    DOP_UNUSED_F6,                          /* -unused- (0xf6)             */ +    DOP_UNUSED_F7,                          /* -unused- (0xf7)             */ +    DOP_UNUSED_F8,                          /* -unused- (0xf8)             */ +    DOP_UNUSED_F9,                          /* -unused- (0xf9)             */ +    DOP_UNUSED_FA,                          /* -unused- (0xfa)             */ +    DOP_UNUSED_FB,                          /* -unused- (0xfb)             */ +    DOP_UNUSED_FC,                          /* -unused- (0xfc)             */ +    DOP_UNUSED_FD,                          /* -unused- (0xfd)             */ +    DOP_UNUSED_FE,                          /* -unused- (0xfe)             */ +    DOP_UNUSED_FF,                          /* -unused- (0xff)             */      DOP_COUNT | 
