Skip to content

Instantly share code, notes, and snippets.

@thedmitriyk
Created October 20, 2015 16:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thedmitriyk/824144681d5f7060573c to your computer and use it in GitHub Desktop.
Save thedmitriyk/824144681d5f7060573c to your computer and use it in GitHub Desktop.
JVM Opcode Mnemonic Lookup Map
val opcodeLookup = Map(
0 -> "nop",
1 -> "aconst_null",
2 -> "iconst_m1",
3 -> "iconst_0",
4 -> "iconst_1",
5 -> "iconst_2",
6 -> "iconst_3",
7 -> "iconst_4",
8 -> "iconst_5",
9 -> "lconst_0",
10 -> "lconst_1",
11 -> "fconst_0",
12 -> "fconst_1",
13 -> "fconst_2",
14 -> "dconst_0",
15 -> "dconst_1",
16 -> "bipush",
17 -> "sipush",
18 -> "ldc",
19 -> "ldc_w",
20 -> "ldc2_w",
21 -> "iload",
22 -> "lload",
23 -> "fload",
24 -> "dload",
25 -> "aload",
26 -> "iload_0",
27 -> "iload_1",
28 -> "iload_2",
29 -> "iload_3",
30 -> "lload_0",
31 -> "lload_1",
32 -> "lload_2",
33 -> "lload_3",
34 -> "fload_0",
35 -> "fload_1",
36 -> "fload_2",
37 -> "fload_3",
38 -> "dload_0",
39 -> "dload_1",
40 -> "dload_2",
41 -> "dload_3",
42 -> "aload_0",
43 -> "aload_1",
44 -> "aload_2",
45 -> "aload_3",
46 -> "iaload",
47 -> "laload",
48 -> "faload",
49 -> "daload",
50 -> "aaload",
51 -> "baload",
52 -> "caload",
53 -> "saload",
54 -> "istore",
55 -> "lstore",
56 -> "fstore",
57 -> "dstore",
58 -> "astore",
59 -> "istore_0",
60 -> "istore_1",
61 -> "istore_2",
62 -> "istore_3",
63 -> "lstore_0",
64 -> "lstore_1",
65 -> "lstore_2",
66 -> "lstore_3",
67 -> "fstore_0",
68 -> "fstore_1",
69 -> "fstore_2",
70 -> "fstore_3",
71 -> "dstore_0",
72 -> "dstore_1",
73 -> "dstore_2",
74 -> "dstore_3",
75 -> "astore_0",
76 -> "astore_1",
77 -> "astore_2",
78 -> "astore_3",
79 -> "iastore",
80 -> "lastore",
81 -> "fastore",
82 -> "dastore",
83 -> "aastore",
84 -> "bastore",
85 -> "castore",
86 -> "sastore",
87 -> "pop",
88 -> "pop2",
89 -> "dup",
90 -> "dup_x1",
91 -> "dup_x2",
92 -> "dup2",
93 -> "dup2_x1",
94 -> "dup2_x2",
95 -> "swap",
96 -> "iadd",
97 -> "ladd",
98 -> "fadd",
99 -> "dadd",
100 -> "isub",
101 -> "lsub",
102 -> "fsub",
103 -> "dsub",
104 -> "imul",
105 -> "lmul",
106 -> "fmul",
107 -> "dmul",
108 -> "idiv",
109 -> "ldiv",
110 -> "fdiv",
111 -> "ddiv",
112 -> "irem",
113 -> "lrem",
114 -> "frem",
115 -> "drem",
116 -> "ineg",
117 -> "lneg",
118 -> "fneg",
119 -> "dneg",
120 -> "ishl",
121 -> "lshl",
122 -> "ishr",
123 -> "lshr",
124 -> "iushr",
125 -> "lushr",
126 -> "iand",
127 -> "land",
128 -> "ior",
129 -> "lor",
130 -> "ixor",
131 -> "lxor",
132 -> "iinc",
133 -> "i2l",
134 -> "i2f",
135 -> "i2d",
136 -> "l2i",
137 -> "l2f",
138 -> "l2d",
139 -> "f2i",
140 -> "f2l",
141 -> "f2d",
142 -> "d2i",
143 -> "d2l",
144 -> "d2f",
145 -> "i2b",
146 -> "i2c",
147 -> "i2s",
148 -> "lcmp",
149 -> "fcmpl",
150 -> "fcmpg",
151 -> "dcmpl",
152 -> "dcmpg",
153 -> "ifeq",
154 -> "ifne",
155 -> "iflt",
156 -> "ifge",
157 -> "ifgt",
158 -> "ifle",
159 -> "if_icmpeq",
160 -> "if_icmpne",
161 -> "if_icmplt",
162 -> "if_icmpge",
163 -> "if_icmpgt",
164 -> "if_icmple",
165 -> "if_acmpeq",
166 -> "if_acmpne",
167 -> "goto",
168 -> "jsr",
169 -> "ret",
170 -> "tableswitch",
171 -> "lookupswitch",
172 -> "ireturn",
173 -> "lreturn",
174 -> "freturn",
175 -> "dreturn",
176 -> "areturn",
177 -> "return",
178 -> "getstatic",
179 -> "putstatic",
180 -> "getfield",
181 -> "putfield",
182 -> "invokevirtual",
183 -> "invokespecial",
184 -> "invokestatic",
185 -> "invokeinterface",
186 -> "invokedynamic",
187 -> "new",
188 -> "newarray",
189 -> "anewarray",
190 -> "arraylength",
191 -> "athrow",
192 -> "checkcast",
193 -> "instanceof",
194 -> "monitorenter",
195 -> "monitorexit",
196 -> "wide",
197 -> "multianewarray",
198 -> "ifnull",
199 -> "ifnonnull",
200 -> "goto_w",
201 -> "jsr_w",
202 -> "breakpoint",
254 -> "impdep1",
255 -> "impdep2"
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment