radare2/shlr/java/ops.c
2012-11-16 02:29:30 +01:00

212 lines
7.6 KiB
C

/* radare - LGPL - Copyright 2007-2012 - pancake */
#include <stdio.h>
#include "code.h"
struct java_op java_ops[] = {
{ "aconst_null" , 0x01 , 1 } ,
{ "aload" , 0x19 , 2 } ,
{ "aload_0" , 0x2a , 1 } ,
{ "aload_1" , 0x2b , 1 } ,
{ "aload_2" , 0x2c , 1 } ,
{ "aload_3" , 0x2d , 1 } ,
{ "areturn" , 0xb0 , 1 } ,
{ "arraylength" , 0xbe , 1 } ,
{ "astore" , 0x3a , 2 } ,
{ "astore_0" , 0x4b , 1 } ,
{ "astore_1" , 0x4c , 1 } ,
{ "astore_2" , 0x4d , 1 } ,
{ "astore_3" , 0x4e , 1 } ,
{ "athrow" , 0xbf , 1 } ,
{ "baload" , 0x33 , 1 } ,
{ "bastore" , 0x54 , 1 } ,
{ "bipush" , 0x10 , 2 } ,
{ "caload" , 0x34 , 1 } ,
{ "castore" , 0x55 , 1 } ,
{ "checkcast" , 0xc0 , 3 } ,
{ "d2f" , 0x90 , 1 } ,
{ "d2i" , 0x8e , 1 } ,
{ "d2l" , 0x8f , 1 } ,
{ "dadd" , 0x63 , 1 } ,
{ "daload" , 0x31 , 1 } ,
{ "dastore" , 0x52 , 1 } ,
{ "dcmpg" , 0x98 , 1 } ,
{ "dcmpl" , 0x97 , 1 } ,
{ "dconst_0" , 0x0e , 1 } ,
{ "dconst_1" , 0x0f , 1 } ,
{ "ddiv" , 0x6f , 1 } ,
{ "dload" , 0x18 , 2 } ,
{ "dload_0" , 0x26 , 1 } ,
{ "dload_1" , 0x27 , 1 } ,
{ "dload_2" , 0x28 , 1 } ,
{ "dload_3" , 0x29 , 1 } ,
{ "dmul" , 0x6b , 1 } ,
{ "dneg" , 0x77 , 1 } ,
{ "drem" , 0x73 , 1 } ,
{ "dreturn" , 0xaf , 1 } ,
{ "dstore" , 0x39 , 2 } ,
{ "dstore_0" , 0x47 , 1 } ,
{ "dstore_1" , 0x48 , 1 } ,
{ "dstore_2" , 0x49 , 1 } ,
{ "dstore_3" , 0x4a , 1 } ,
{ "dsub" , 0x67 , 1 } ,
{ "dup" , 0x59 , 1 } ,
{ "dup_x1" , 0x5a , 1 } ,
{ "dup_x2" , 0x5b , 1 } ,
{ "dup2" , 0x5c , 1 } ,
{ "dup2_x1" , 0x5d , 1 } ,
{ "dup2_x2" , 0x5e , 1 } ,
{ "f2d" , 0x8d , 1 } ,
{ "f2i" , 0x8b , 1 } ,
{ "f2l" , 0x8c , 1 } ,
{ "fadd" , 0x62 , 1 } ,
{ "faload" , 0x30 , 1 } ,
{ "fastore" , 0x51 , 1 } ,
{ "fcmpg" , 0x96 , 1 } ,
{ "fcmpl" , 0x95 , 1 } ,
{ "fconst_0" , 0x0b , 1 } ,
{ "fconst_1" , 0x0c , 1 } ,
{ "fconst_2" , 0x0d , 1 } ,
{ "fdiv" , 0x6e , 1 } ,
{ "fload" , 0x17 , 2 } ,
{ "fload_0" , 0x22 , 1 } ,
{ "fload_1" , 0x23 , 1 } ,
{ "fload_2" , 0x24 , 1 } ,
{ "fload_3" , 0x25 , 1 } ,
{ "fmul" , 0x6a , 1 } ,
{ "fneg" , 0x76 , 1 } ,
{ "frem" , 0x72 , 1 } ,
{ "freturn" , 0xae , 1 } ,
{ "fstore" , 0x38 , 2 } ,
{ "fstore_0" , 0x43 , 1 } ,
{ "fstore_1" , 0x44 , 1 } ,
{ "fstore_2" , 0x45 , 1 } ,
{ "fstore_3" , 0x46 , 1 } ,
{ "fsub" , 0x66 , 1 } ,
{ "getfield" , 0xb4 , 3 } ,
{ "getstatic" , 0xb2 , 3 } ,
{ "goto" , 0xa7 , 3 } ,
{ "goto_w" , 0xc8 , 5 } ,
{ "i2b" , 0x91 , 1 } ,
{ "i2c" , 0x92 , 1 } ,
{ "i2d" , 0x87 , 1 } ,
{ "i2f" , 0x86 , 1 } ,
{ "i2l" , 0x85 , 1 } ,
{ "i2s" , 0x93 , 1 } ,
{ "iadd" , 0x60 , 1 } ,
{ "iaload" , 0x2e , 1 } ,
{ "iand" , 0x7e , 1 } ,
{ "iastore" , 0x4f , 1 } ,
{ "iconst_m1" , 0x02 , 1 } ,
{ "iconst_0" , 0x03 , 1 } ,
{ "iconst_1" , 0x04 , 1 } ,
{ "iconst_2" , 0x05 , 1 } ,
{ "iconst_3" , 0x06 , 1 } ,
{ "iconst_4" , 0x07 , 1 } ,
{ "iconst_5" , 0x08 , 1 } ,
{ "idiv" , 0x6c , 1 } ,
{ "if_acmpeq" , 0xa5 , 3 } ,
{ "if_acmpne" , 0xa6 , 3 } ,
{ "if_icmpeq" , 0x9f , 3 } ,
{ "if_icmpne" , 0xa0 , 3 } ,
{ "if_icmplt" , 0xa1 , 3 } ,
{ "if_icmpge" , 0xa2 , 3 } ,
{ "if_icmpgt" , 0xa3 , 3 } ,
{ "if_icmple" , 0xa4 , 3 } ,
{ "ifeq" , 0x99 , 3 } ,
{ "ifne" , 0x9a , 3 } ,
{ "iflt" , 0x9b , 3 } ,
{ "ifge" , 0x9c , 3 } ,
{ "ifgt" , 0x9d , 3 } ,
{ "ifle" , 0x9e , 3 } ,
{ "ifnonnull" , 0xc7 , 3 } ,
{ "ifnull" , 0xc6 , 3 } ,
{ "iinc" , 0x84 , 3 } ,
{ "iload" , 0x15 , 2 } ,
{ "iload_0" , 0x1a , 1 } ,
{ "iload_1" , 0x1b , 1 } ,
{ "iload_2" , 0x1c , 1 } ,
{ "iload_3" , 0x1d , 1 } ,
{ "imul" , 0x68 , 1 } ,
{ "ineg" , 0x74 , 1 } ,
{ "instanceof" , 0xc1 , 3 } ,
{ "invokevirtual" , 0xb6 , 3 } ,
{ "invokespecial" , 0xb7 , 3 } ,
{ "invokestatic" , 0xb8 , 3 } ,
{ "invokeinterface" , 0xb9 , 5 } ,
{ "ior" , 0x80 , 1 } ,
{ "irem" , 0x70 , 1 } ,
{ "ireturn" , 0xac , 1 } ,
{ "ishl" , 0x78 , 1 } ,
{ "ishr" , 0x7a , 1 } ,
{ "istore" , 0x36 , 2 } ,
{ "istore_0" , 0x3b , 1 } ,
{ "istore_1" , 0x3c , 1 } ,
{ "istore_2" , 0x3d , 1 } ,
{ "istore_3" , 0x3e , 1 } ,
{ "isub" , 0x64 , 1 } ,
{ "iushr" , 0x7c , 1 } ,
{ "ixor" , 0x82 , 1 } ,
{ "lxor" , 0x83 , 1 } ,
{ "jsr" , 0xa8 , 3 } ,
{ "jsr_w" , 0xc9 , 5 } ,
{ "l2d" , 0x8a , 1 } ,
{ "l2f" , 0x89 , 1 } ,
{ "l2i" , 0x88 , 1 } ,
{ "ladd" , 0x61 , 1 } ,
{ "laload" , 0x2f , 1 } ,
{ "land" , 0x7f , 1 } ,
{ "lastore" , 0x50 , 1 } ,
{ "lcmp" , 0x94 , 1 } ,
{ "lconst_0" , 0x09 , 1 } ,
{ "lconst_1" , 0x0a , 1 } ,
{ "ldc" , 0x12 , 2 } ,
{ "ldc_w" , 0x13 , 3 } ,
{ "ldc2_w" , 0x14 , 3 } ,
{ "ldiv" , 0x6d , 1 } ,
{ "lload" , 0x16 , 2 } ,
{ "lload_0" , 0x1e , 1 } ,
{ "lload_1" , 0x1f , 1 } ,
{ "lload_2" , 0x20 , 1 } ,
{ "lload_3" , 0x21 , 1 } ,
{ "lmul" , 0x69 , 1 } ,
{ "lneg" , 0x75 , 1 } ,
{ "lookupswitch" , 0xab , 3 } , // XXX broken opcode
{ "lor" , 0x81 , 1 } ,
{ "lrem" , 0x71 , 1 } ,
{ "lreturn" , 0xad , 1 } ,
{ "lshl" , 0x79 , 1 } ,
{ "lshr" , 0x7b , 1 } ,
{ "lstore" , 0x37 , 2 } ,
{ "lstore_0" , 0x3f , 1 } ,
{ "lstore_1" , 0x40 , 1 } ,
{ "lstore_2" , 0x41 , 1 } ,
{ "lstore_3" , 0x42 , 1 } ,
{ "lsub" , 0x65 , 1 } ,
{ "lushr" , 0x7d , 1 } ,
{ "lxor" , 0x83 , 1 } ,
{ "monitorenter" , 0xc2 , 1 } ,
{ "monitorexit" , 0xc3 , 1 } ,
{ "multinewarray" , 0xc5 , 3 } , // XXX broken opcode ?
{ "new" , 0xbb , 3 } ,
{ "newarray" , 0xbc , 2 } ,
{ "nop" , 0x00 , 1 } ,
{ "pop" , 0x57 , 1 } ,
{ "pop2" , 0x58 , 1 } ,
{ "putfield" , 0xb5 , 3 } ,
{ "putstatic" , 0xb3 , 3 } ,
{ "ret" , 0xa9 , 2 } ,
{ "return" , 0xb1 , 1 } ,
{ "saload" , 0x35 , 1 } ,
{ "sastore" , 0x36 , 1 } ,
{ "sipush" , 0x11 , 3 } ,
{ "swap" , 0x5f , 1 } ,
{ "tableswitch" , 0xaa , 3 } , // broken opcode
{ "wide" , 0xc4 , 1 } , // broken opcode - variable length
{ "breakpoint" , 0xca , 1 } ,
{ "impdep1" , 0xfe , 1 } ,
{ "impdep2" , 0xff , 1 } ,
{ "unused" , 0xba , 1 } ,
{ NULL, 0x0, 0 }
};