Code |
Instruction |
Stack arguments |
Stack results |
Brief description |
0 |
nop |
|
|
do nothing |
1 |
aconst_null |
|
,null |
push null |
2 |
iconst_m1 |
|
|
|
3 |
iconst_0 |
|
,0 |
push int constant 0 |
4 |
iconst_1 |
|
,1 |
push int constant 1 |
5 |
iconst_2 |
|
,2 |
push int
constant 2 |
6 |
iconst_3 |
|
,3 |
push int
constant 3 |
7 |
iconst_4 |
|
,4 |
push int
constant 4 |
8 |
iconst_5 |
|
,5 |
push int
constant 5 |
9 |
lconst_0 |
|
,word1,word2 |
load long
constant 0 |
10 |
lconst_1 |
|
,word1,word3 |
load long
constant 1 |
11 |
fconst_0 |
|
,0.0 |
push
float constant |
12 |
fconst_1 |
|
,1.0 |
push
float constant |
13 |
fconst_2 |
|
,2.0 |
push
float constant |
14 |
dconst_0 |
|
,word1,word2 |
push
double |
15 |
dconst_1 |
|
,word1,word3 |
push
double |
16 |
bipush |
|
,value |
push byte |
17 |
sipush |
|
,value |
push
short |
18 |
ldc |
|
,item |
push item
from constant pool |
19 |
ldc_w |
|
,item |
push item
from constant pool |
20 |
ldc2_w |
|
,item.word1,item.word2 |
push item
from constant pool |
21 |
iload |
|
,value |
load int
from a local variable |
22 |
lload |
|
,word1,word2 |
load long
from local variable |
23 |
fload |
|
,value |
load
float from local variable |
24 |
dload |
|
,word1,word2 |
load
double from local variable |
25 |
aload |
|
,objectref |
load
reference from local variable |
26 |
iload_0 |
|
,value |
load int
from a local variable |
27 |
iload_1 |
|
,value |
load int
from a local variable |
28 |
iload_2 |
|
,value |
load int
from a local variable |
29 |
iload_3 |
|
,value |
load int
from a local variable |
30 |
lload_0 |
|
,word1,word3 |
load long
from local variable |
31 |
lload_1 |
|
,word1,word4 |
load long
from local variable |
32 |
lload_2 |
|
,word1,word5 |
load long
from local variable |
33 |
lload_3 |
|
,word1,word6 |
load long
from local variable |
34 |
fload_0 |
|
,value |
load
float from local variable |
35 |
fload_1 |
|
,value |
load
float from local variable |
36 |
fload_2 |
|
,value |
load
float from local variable |
37 |
fload_3 |
|
,value |
load
float from local variable |
38 |
dload_0 |
|
,word1,word2 |
load
double from local variable |
39 |
dload_1 |
|
,word1,word2 |
load
double from local variable |
40 |
dload_2 |
|
,word1,word2 |
load
double from local variable |
41 |
dload_3 |
|
,word1,word2 |
load
double from local variable |
42 |
aload_0 |
|
,objectref |
load
reference from local variable |
43 |
aload_1 |
|
,objectref |
load
reference from local variable |
44 |
aload_2 |
|
,objectref |
load
reference from local variable |
45 |
aload_3 |
|
,objectref |
load
reference from local variable |
46 |
iaload |
,arrayref,index |
,value |
load int
from array |
47 |
laload |
,arrayref,index |
,word1,word2 |
load long
from array |
48 |
faload |
,arrayref,index |
,value |
load
float from array |
49 |
daload |
,arrayref,index |
,word1,word2 |
load
double from array |
50 |
aaload |
,arrayref,index |
,value |
load a
reference from array |
51 |
baload |
,arrayref,index |
,value |
load byte
or boolean from array |
52 |
caload |
,arrayref,index |
,value |
load char
from array |
53 |
saload |
,arrayref,index |
,value |
load
short from array |
54 |
istore |
,value |
|
store int
into local variable |
55 |
lstore |
,word1,word2 |
|
store
long into local variable |
56 |
fstore |
,value |
|
store
float into local variable |
57 |
dstore |
,word1,word2 |
|
store
double into local variable |
58 |
astore |
,objectref |
|
store
reference in local vairable |
59 |
istore_0 |
,value |
|
store int
into local variable |
60 |
istore_1 |
,value |
|
store int
into local variable |
61 |
istore_2 |
,value |
|
store int
into local variable |
62 |
istore_3 |
,value |
|
store int
into local variable |
63 |
lstore_0 |
,word1,word2 |
|
store
long into local variable |
64 |
lstore_1 |
,word1,word2 |
|
store
long into local variable |
65 |
lstore_2 |
,word1,word2 |
|
store
long into local variable |
66 |
lstore_3 |
,word1,word2 |
|
store
long into local variable |
67 |
fstore_0 |
,value |
|
store
float into local variable |
68 |
fstore_1 |
,value |
|
store
float into local variable |
69 |
fstore_2 |
,value |
|
store
float into local variable |
70 |
fstore_3 |
,value |
|
store
float into local variable |
71 |
dstore_0 |
,word1,word2 |
|
store
double into local variable |
72 |
dstore_1 |
,word1,word2 |
|
store
double into local variable |
73 |
dstore_2 |
,word1,word2 |
|
store
double into local variable |
74 |
dstore_3 |
,word1,word2 |
|
store
double into local variable |
75 |
astore_0 |
,objectref |
|
store
reference in local vairable |
76 |
astore_1 |
,objectref |
|
store
reference in local vairable |
77 |
astore_2 |
,objectref |
|
store
reference in local vairable |
78 |
astore_3 |
,objectref |
|
store
reference in local vairable |
79 |
iastore |
,arrayref,index,value |
|
store
into int array |
80 |
lastore |
,arrayref,index,word1,word2 |
|
store
into long array |
81 |
fastore |
,arrayref,index,value |
|
store
into float array |
82 |
dastore |
,arrayref,index,word1,word2 |
|
store
into double array |
83 |
aastore |
,arrayref,index,value |
|
store
into reference array |
84 |
bastore |
,arrayref,index,value |
|
store
into byte or boolean array |
85 |
castore |
,arrayref,index,value |
|
store
into char array |
86 |
sastore |
,arrayref,index,value |
|
store
short into array |
87 |
pop |
,word |
|
pop the
top word of the operand stack |
88 |
pop2 |
,word1,word2 |
|
pop the
top two words of the operand stack |
89 |
dup |
,word |
,word,word |
duplicate
top operand stack word |
90 |
dup_x1 |
,word2,word1 |
,word1,word2,word1 |
duplicate
top operand stack word and put two down |
91 |
dup_x2 |
,word3,word2,word1 |
,word1,word3,word2,word1 |
duplicate
top operand stack word and put three down |
92 |
dup2 |
,word2,word1 |
,word2,word1,word2,word1 |
duplicate
top two operand stack words |
93 |
dup2_x1 |
,w3,w2,w1 |
,w2,w1,w3,w2,w1 |
duplicate
top two operand stack words and put three down |
94 |
dup2_x2 |
,w4,w3,w2,w1 |
,w2,w1,w4,w3,w2,w1 |
duplicate
top two operand stack words and put four down |
95 |
swap |
,word2,word1 |
,word1,word2 |
swap top
two words on the operand stack |
96 |
iadd |
,value1,value2 |
,result |
add int |
97 |
ladd |
,word1,word2,word1,word2 |
,word1,word2 |
add long |
98 |
fadd |
,value1,value2 |
,result |
add float |
99 |
dadd |
,word1,word2,word1,word2 |
,word1,word2 |
add
double |
100 |
isub |
,value1,value2 |
,result |
subtract
int (value1 - value2) |
101 |
lsub |
,word1,word2,word1,word2 |
,word1,word2 |
subtract
long |
102 |
fsub |
,value1,value2 |
,result |
subtract
float |
103 |
dsub |
,word1,word2,word1,word2 |
,word1,word2 |
subtract
double |
104 |
imul |
,value1,value2 |
,result |
multiply
int |
105 |
lmul |
,word1,word2,word1,word2 |
,word1,word2 |
multiply
long |
106 |
fmul |
,value1,value2 |
,result |
multiply
float |
107 |
dmul |
,word1,word2,word1,word2 |
,word1,word2 |
multiply
double |
108 |
idiv |
,value1,value2 |
,result |
divide
int (value1/value2) |
109 |
ldiv |
,word1,word2,word1,word2 |
,word1,word2 |
divide
long |
110 |
fdiv |
,value1,value2 |
,result |
divide
float |
111 |
ddiv |
,word1,word2,word1,word2 |
,word1,word2` |
divide
double |
112 |
irem |
,value1,value2 |
,result |
remainder
int (value1 % value2) |
113 |
lrem |
,word1,word2,word1,word3 |
,word1,word3 |
remainder
long |
114 |
frem |
,value1,value2 |
,result |
remainder
float |
115 |
drem |
,word1,word2,word1,word2 |
,word1,word2 |
remainder
double |
116 |
ineg |
,value |
,result |
negate
int |
117 |
lneg |
,word1,word2 |
,word1,word2 |
negate
long |
118 |
fneg |
,value |
,result |
negate
float |
119 |
dneg |
,word1,word2 |
,word1,word2 |
negate
double |
120 |
ishl |
,value1,value2 |
,result |
shift
left int |
121 |
lshl |
,word1,word2,word1,word2 |
,word1,word2 |
shift
left long |
122 |
ishr |
,value1,value3 |
,result |
shift
right int |
123 |
lshr |
,word1,word2,word1,word2 |
,word1,word2 |
arithmetic
shift right long |
124 |
iushr |
,value1,value2 |
,result |
logical
right int shift |
125 |
lushr |
,word1,word2,word1,word2 |
,word1,word2 |
logical
right long shift |
126 |
iand |
,value1,value2 |
,result |
boolean
AND int |
127 |
land |
,word1,word2,word1,word2 |
,word1,word2 |
boolean
AND long |
128 |
ior |
,value1,value2 |
,result |
boolean
OR int |
129 |
lor |
,word1,word2,word1,word2 |
,word1,word2 |
boolean
OR long |
130 |
ixor |
,value1,value2 |
,result |
boolean
XOR int |
131 |
lxor |
,word1,word2,word1,word2 |
,word1,word2 |
boolean
XOR long |
132 |
iinc |
|
|
increment
local variable by a constant |
133 |
i2l |
,value |
,word1,word2 |
convert
int to long |
134 |
i2f |
,value |
,result |
convert
int to float |
135 |
i2d |
,value |
,word1,word2 |
convert
int to double |
136 |
l2i |
,word1,word2 |
,result |
convert
long to int |
137 |
l2f |
,word1,word2 |
,result |
convert
long to float |
138 |
l2d |
,word1,word2 |
,word1,word2 |
convert
double to long |
139 |
f2i |
,value |
,result |
convert
float to int |
140 |
f2l |
,value |
,w1,w2 |
convert
float to long |
141 |
f2d |
,value |
,w1,w2 |
convert
float to double |
142 |
d2i |
,word1,word2 |
,result |
convert
double to int |
143 |
d2l |
,word1,word2 |
,result |
convert
double to long |
144 |
d2f |
,word1,word2 |
,result |
convert
double to float |
145 |
i2b |
,value |
,result |
convert
int to byte |
146 |
i2c |
,value |
,result |
convert
int to char |
147 |
i2s |
,value |
,result |
convert
int to short |
148 |
lcmp |
,word1,word2,word1,word2 |
,result |
compare
long |
149 |
fcmpl |
,value1,value2 |
,result |
compare
float |
150 |
fcmpg |
,value1,value2 |
,result |
compare
float |
151 |
dcmpl |
,word1,word2,word1,word2 |
,result |
compare
double |
152 |
dcmpg |
,word1,word2,word1,word2 |
,result |
compare
double |
153 |
ifeq |
,value |
|
branch if
equal zero |
154 |
ifne |
,value |
|
branch if
not equal zero |
155 |
iflt |
,value |
|
branch if
less than zero |
156 |
ifge |
,value |
|
branch if
greater than or equal to zero |
157 |
ifgt |
,value |
|
branch if
greater than zero |
158 |
ifle |
,value |
|
branch if
less than or equal zero |
159 |
if_icmpeq |
,value1,value2 |
|
branch if
int equal |
160 |
if_icmpne |
,value1,value2 |
|
branch if
int not equal |
161 |
if_icmplt |
,value1,value2 |
|
branch if
int less than |
162 |
if_cmpge |
,value1,value2 |
|
branch if
int greater than or equal |
163 |
if_icmpgt |
,value1,value2 |
|
branch if
int greater than |
164 |
if_icmple |
,value1,value2 |
|
branch if
int less than or equal |
165 |
if_acmpeq |
,value1,value2 |
|
branch if
reference equal |
166 |
if_acmpne |
,value1,value2 |
|
branch if
reference not equal |
167 |
goto |
|
|
branch
always |
168 |
jsr |
|
,address |
jump
subroutine |
169 |
ret |
|
|
return
from a subroutine |
170 |
tableswitch |
,index |
|
access
jump table by index and jump |
171 |
lookupswitch |
,key |
|
access
jump table by key match and jump |
172 |
ireturn |
,value |
- |
return
int from method |
173 |
lreturn |
,word1,word2 |
- |
return
long from method |
174 |
freturn |
,value |
- |
return
float from method |
175 |
dreturn |
,word1,word2 |
- |
return
double from method |
176 |
areturn |
,objectref |
- |
return
reference from method |
177 |
return |
|
- |
return
void from a method |
178 |
getstatic |
|
,value |
get
static field from class |
179 |
getstatic |
|
,word1,word2 |
get
static field from class |
179 |
putstatic |
,value |
|
set a
static field in a class |
179 |
putstatic |
,word1,word2 |
|
set a
static field in a class |
180 |
getfield |
,objectref |
,value |
fetch
field from object |
180 |
getfield |
,objectref |
,word1,word2 |
fetch
field from object |
181 |
putfield |
,objectref,value |
|
set field
in an object |
181 |
putfield |
,objectref,word1,word2 |
|
set field
in an object |
182 |
invokevirtual |
,objectref,arg1,arg2,
|
|
invoke an
instance method |
183 |
invokespecial |
,objectref,arg1,arg2,
|
|
invoke a
special interface method |
184 |
invokestatic |
,objectref,arg1,arg2,
|
|
invoke a
class (static) method |
185 |
invokeinterface |
,objectref,arg1,arg2,
|
|
invoke an
interface method |
186 |
xxxunusedxxx |
|
|
|
187 |
new |
|
,objectref |
create a
new object |
188 |
newarray |
,count |
,arrayref |
crate a
new array |
189 |
anewarray |
,count |
,arrayref |
create
new array of reference |
190 |
arraylength |
,arrayref |
,length |
get
length of array |
191 |
athrow |
,objectref |
objectref |
throw
exception or error |
192 |
checkcast |
,objectref |
,objectref |
check
whether object is of given type |
193 |
instanceof |
,objectref |
,result |
determine
if object is of a given type |
194 |
monitorenter |
,objectref |
|
enter
monitor for an object |
195 |
monitorexit |
,objectref |
|
exit
monitor for an object |
196 |
wide |
|
|
|
197 |
multianewarray |
,count1,[count2,
] |
,arrayref |
create a
new multidimensional array |
198 |
ifnull |
,value |
|
branch if
reference is null |
199 |
ifnonnull |
,value |
|
branch if
reference is non null |
200 |
goto_w |
|
|
branch
always (wide index) |
201 |
jsr_w |
|
,address |
jump
subroutine |
202 |
breakpoint |
|
|
|
203 |
ldc_quick |
|
,item |
push item
from constant pool |
204 |
ldc_w_quick |
|
,item |
push item
from constant pool |
205 |
ldc2_w_quick |
|
,item.word1,item.word3 |
push item
from constant pool |
206 |
getfield_quick |
|
|
|
207 |
putfield_quick |
|
|
|
208 |
getfield2_quick |
|
|
|
209 |
putfield2_quick |
|
|
|
210 |
getstatic_quick |
|
|
|
211 |
putstatic_quick |
|
|
|
212 |
getstatic2_quick |
|
|
|
213 |
putstatic2_quick |
|
|
|
214 |
invokevirtual_quick |
|
|
|
215 |
invokenonvirtual_quick |
|
|
|
216 |
invokesuper_quick |
|
|
|
217 |
invokestatic_quick |
|
|
|
218 |
invokeinterface_quick |
|
|
|
219 |
invokevirtualobject_quick |
|
|
|
221 |
new_quick |
|
,objectref |
create a
new object |
222 |
anewarray_quick |
|
|
|
223 |
multianewarray_quick |
,count1,[count2,
] |
,arrayref |
create a
new multidimensional array |
224 |
checkcast_quick |
|
|
|
225 |
instanceof_quick |
|
|
|
226 |
invokevirtual_quick_w |
|
|
|
227 |
getfield_quick_w |
|
|
|
228 |
putfield_quick_w |
|
|
|
254 |
impdep1 |
|
|
|
255 |
impdep2 |
|
|
|
Code |
Instruction |
Stack arguments |
Stack results |
Brief description |
50 |
aaload |
,arrayref,index |
,value |
load a reference from array |
83 |
aastore |
,arrayref,index,value |
|
store
into reference array |
1 |
aconst_null |
|
,null |
push null |
25 |
aload |
|
,objectref |
load
reference from local variable |
42 |
aload_0 |
|
,objectref |
load
reference from local variable |
43 |
aload_1 |
|
,objectref |
load
reference from local variable |
44 |
aload_2 |
|
,objectref |
load
reference from local variable |
45 |
aload_3 |
|
,objectref |
load
reference from local variable |
189 |
anewarray |
,count |
,arrayref |
create
new array of reference |
222 |
anewarray_quick |
|
|
|
176 |
areturn |
,objectref |
- |
return
reference from method |
190 |
arraylength |
,arrayref |
,length |
get
length of array |
58 |
astore |
,objectref |
|
store
reference in local vairable |
75 |
astore_0 |
,objectref |
|
store
reference in local vairable |
76 |
astore_1 |
,objectref |
|
store
reference in local vairable |
77 |
astore_2 |
,objectref |
|
store
reference in local vairable |
78 |
astore_3 |
,objectref |
|
store
reference in local vairable |
191 |
athrow |
,objectref |
objectref |
throw
exception or error |
51 |
baload |
,arrayref,index |
,value |
load byte
or boolean from array |
84 |
bastore |
,arrayref,index,value |
|
store
into byte or boolean array |
16 |
bipush |
|
,value |
push byte |
202 |
breakpoint |
|
|
|
52 |
caload |
,arrayref,index |
,value |
load char
from array |
85 |
castore |
,arrayref,index,value |
|
store
into char array |
192 |
checkcast |
,objectref |
,objectref |
check
whether object is of given type |
224 |
checkcast_quick |
|
|
|
144 |
d2f |
,word1,word2 |
,result |
convert
double to float |
142 |
d2i |
,word1,word2 |
,result |
convert
double to int |
143 |
d2l |
,word1,word2 |
,result |
convert
double to long |
99 |
dadd |
,word1,word2,word1,word2 |
,word1,word2 |
add
double |
49 |
daload |
,arrayref,index |
,word1,word2 |
load
double from array |
82 |
dastore |
,arrayref,index,word1,word2 |
|
store
into double array |
152 |
dcmpg |
,word1,word2,word1,word2 |
,result |
compare
double |
151 |
dcmpl |
,word1,word2,word1,word2 |
,result |
compare
double |
14 |
dconst_0 |
|
,word1,word2 |
push
double |
15 |
dconst_1 |
|
,word1,word3 |
push
double |
111 |
ddiv |
,word1,word2,word1,word2 |
,word1,word2` |
divide
double |
24 |
dload |
|
,word1,word2 |
load
double from local variable |
38 |
dload_0 |
|
,word1,word2 |
load
double from local variable |
39 |
dload_1 |
|
,word1,word2 |
load
double from local variable |
40 |
dload_2 |
|
,word1,word2 |
load
double from local variable |
41 |
dload_3 |
|
,word1,word2 |
load
double from local variable |
107 |
dmul |
,word1,word2,word1,word2 |
,word1,word2 |
multiply
double |
119 |
dneg |
,word1,word2 |
,word1,word2 |
negate
double |
115 |
drem |
,word1,word2,word1,word2 |
,word1,word2 |
remainder
double |
175 |
dreturn |
,word1,word2 |
- |
return
double from method |
57 |
dstore |
,word1,word2 |
|
store
double into local variable |
71 |
dstore_0 |
,word1,word2 |
|
store
double into local variable |
72 |
dstore_1 |
,word1,word2 |
|
store
double into local variable |
73 |
dstore_2 |
,word1,word2 |
|
store
double into local variable |
74 |
dstore_3 |
,word1,word2 |
|
store
double into local variable |
103 |
dsub |
,word1,word2,word1,word2 |
,word1,word2 |
subtract
double |
89 |
dup |
,word |
,word,word |
duplicate
top operand stack word |
90 |
dup_x1 |
,word2,word1 |
,word1,word2,word1 |
duplicate
top operand stack word and put two down |
91 |
dup_x2 |
,word3,word2,word1 |
,word1,word3,word2,word1 |
duplicate
top operand stack word and put three down |
92 |
dup2 |
,word2,word1 |
,word2,word1,word2,word1 |
duplicate
top two operand stack words |
93 |
dup2_x1 |
,w3,w2,w1 |
,w2,w1,w3,w2,w1 |
duplicate
top two operand stack words and put three down |
94 |
dup2_x2 |
,w4,w3,w2,w1 |
,w2,w1,w4,w3,w2,w1 |
duplicate
top two operand stack words and put four down |
141 |
f2d |
,value |
,w1,w2 |
convert
float to double |
139 |
f2i |
,value |
,result |
convert
float to int |
140 |
f2l |
,value |
,w1,w2 |
convert
float to long |
98 |
fadd |
,value1,value2 |
,result |
add float |
48 |
faload |
,arrayref,index |
,value |
load
float from array |
81 |
fastore |
,arrayref,index,value |
|
store
into float array |
150 |
fcmpg |
,value1,value2 |
,result |
compare
float |
149 |
fcmpl |
,value1,value2 |
,result |
compare
float |
11 |
fconst_0 |
|
,0.0 |
push
float constant |
12 |
fconst_1 |
|
,1.0 |
push
float constant |
13 |
fconst_2 |
|
,2.0 |
push
float constant |
110 |
fdiv |
,value1,value2 |
,result |
divide
float |
23 |
fload |
|
,value |
load
float from local variable |
34 |
fload_0 |
|
,value |
load
float from local variable |
35 |
fload_1 |
|
,value |
load
float from local variable |
36 |
fload_2 |
|
,value |
load
float from local variable |
37 |
fload_3 |
|
,value |
load
float from local variable |
106 |
fmul |
,value1,value2 |
,result |
multiply
float |
118 |
fneg |
,value |
,result |
negate
float |
114 |
frem |
,value1,value2 |
,result |
remainder
float |
174 |
freturn |
,value |
- |
return
float from method |
56 |
fstore |
,value |
|
store
float into local variable |
67 |
fstore_0 |
,value |
|
store
float into local variable |
68 |
fstore_1 |
,value |
|
store
float into local variable |
69 |
fstore_2 |
,value |
|
store
float into local variable |
70 |
fstore_3 |
,value |
|
store
float into local variable |
102 |
fsub |
,value1,value2 |
,result |
subtract
float |
180 |
getfield |
,objectref |
,value |
fetch
field from object |
180 |
getfield |
,objectref |
,word1,word2 |
fetch
field from object |
206 |
getfield_quick |
|
|
|
227 |
getfield_quick_w |
|
|
|
208 |
getfield2_quick |
|
|
|
178 |
getstatic |
|
,value |
get
static field from class |
179 |
getstatic |
|
,word1,word2 |
get
static field from class |
210 |
getstatic_quick |
|
|
|
212 |
getstatic2_quick |
|
|
|
167 |
goto |
|
|
branch
always |
200 |
goto_w |
|
|
branch
always (wide index) |
145 |
i2b |
,value |
,result |
convert
int to byte |
146 |
i2c |
,value |
,result |
convert
int to char |
135 |
i2d |
,value |
,word1,word2 |
convert
int to double |
134 |
i2f |
,value |
,result |
convert
int to float |
133 |
i2l |
,value |
,word1,word2 |
convert
int to long |
147 |
i2s |
,value |
,result |
convert
int to short |
96 |
iadd |
,value1,value2 |
,result |
add int |
46 |
iaload |
,arrayref,index |
,value |
load int
from array |
126 |
iand |
,value1,value2 |
,result |
boolean
AND int |
79 |
iastore |
,arrayref,index,value |
|
store
into int array |
3 |
iconst_0 |
|
,0 |
push int
constant 0 |
4 |
iconst_1 |
|
,1 |
push int
constant 1 |
5 |
iconst_2 |
|
,2 |
push int
constant 2 |
6 |
iconst_3 |
|
,3 |
push int
constant 3 |
7 |
iconst_4 |
|
,4 |
push int
constant 4 |
8 |
iconst_5 |
|
,5 |
push int
constant 5 |
2 |
iconst_m1 |
|
|
|
108 |
idiv |
,value1,value2 |
,result |
divide
int (value1/value2) |
165 |
if_acmpeq |
,value1,value2 |
|
branch if
reference equal |
166 |
if_acmpne |
,value1,value2 |
|
branch if
reference not equal |
162 |
if_cmpge |
,value1,value2 |
|
branch if
int greater than or equal |
159 |
if_icmpeq |
,value1,value2 |
|
branch if
int equal |
163 |
if_icmpgt |
,value1,value2 |
|
branch if
int greater than |
164 |
if_icmple |
,value1,value2 |
|
branch if
int less than or equal |
161 |
if_icmplt |
,value1,value2 |
|
branch if
int less than |
160 |
if_icmpne |
,value1,value2 |
|
branch if
int not equal |
153 |
ifeq |
,value |
|
branch if
equal zero |
156 |
ifge |
,value |
|
branch if
greater than or equal to zero |
157 |
ifgt |
,value |
|
branch if
greater than zero |
158 |
ifle |
,value |
|
branch if
less than or equal zero |
155 |
iflt |
,value |
|
branch if
less than zero |
154 |
ifne |
,value |
|
branch if
not equal zero |
199 |
ifnonnull |
,value |
|
branch if
reference is non null |
198 |
ifnull |
,value |
|
branch if
reference is null |
132 |
iinc |
|
|
increment
local variable by a constant |
21 |
iload |
|
,value |
load int from a local variable |
26 |
iload_0 |
|
,value |
load int from a local variable |
27 |
iload_1 |
|
,value |
load int
from a local variable |
28 |
iload_2 |
|
,value |
load int
from a local variable |
29 |
iload_3 |
|
,value |
load int
from a local variable |
254 |
impdep1 |
|
|
|
255 |
impdep2 |
|
|
|
104 |
imul |
,value1,value2 |
,result |
multiply
int |
116 |
ineg |
,value |
,result |
negate
int |
193 |
instanceof |
,objectref |
,result |
determine
if object is of a given type |
225 |
instanceof_quick |
|
|
|
185 |
invokeinterface |
,objectref,arg1,arg2,
|
|
invoke an
interface method |
218 |
invokeinterface_quick |
|
|
|
215 |
invokenonvirtual_quick |
|
|
|
183 |
invokespecial |
,objectref,arg1,arg2,
|
|
invoke a
special interface method |
184 |
invokestatic |
,objectref,arg1,arg2,
|
|
invoke a
class (static) method |
217 |
invokestatic_quick |
|
|
|
216 |
invokesuper_quick |
|
|
|
182 |
invokevirtual |
,objectref,arg1,arg2,
|
|
invoke an
instance method |
214 |
invokevirtual_quick |
|
|
|
226 |
invokevirtual_quick_w |
|
|
|
219 |
invokevirtualobject_quick |
|
|
|
128 |
ior |
,value1,value2 |
,result |
boolean
OR int |
112 |
irem |
,value1,value2 |
,result |
remainder
int (value1 % value2) |
172 |
ireturn |
,value |
- |
return
int from method |
120 |
ishl |
,value1,value2 |
,result |
shift
left int |
122 |
ishr |
,value1,value3 |
,result |
shift
right int |
54 |
istore |
,value |
|
store int
into local variable |
59 |
istore_0 |
,value |
|
store int
into local variable |
60 |
istore_1 |
,value |
|
store int
into local variable |
61 |
istore_2 |
,value |
|
store int
into local variable |
62 |
istore_3 |
,value |
|
store int
into local variable |
100 |
isub |
,value1,value2 |
,result |
subtract
int (value1 - value2) |
124 |
iushr |
,value1,value2 |
,result |
logical
right int shift |
130 |
ixor |
,value1,value2 |
,result |
boolean
XOR int |
168 |
jsr |
|
,address |
jump
subroutine |
201 |
jsr_w |
|
,address |
jump
subroutine |
138 |
l2d |
,word1,word2 |
,word1,word2 |
convert
double to long |
137 |
l2f |
,word1,word2 |
,result |
convert
long to float |
136 |
l2i |
,word1,word2 |
,result |
convert
long to int |
97 |
ladd |
,word1,word2,word1,word2 |
,word1,word2 |
add long |
47 |
laload |
,arrayref,index |
,word1,word2 |
load long
from array |
127 |
land |
,word1,word2,word1,word2 |
,word1,word2 |
boolean
AND long |
80 |
lastore |
,arrayref,index,word1,word2 |
|
store
into long array |
148 |
lcmp |
,word1,word2,word1,word2 |
,result |
compare
long |
9 |
lconst_0 |
|
,word1,word2 |
load long
constant 0 |
10 |
lconst_1 |
|
,word1,word3 |
load long
constant 1 |
18 |
ldc |
|
,item |
push item
from constant pool |
203 |
ldc_quick |
|
,item |
push item
from constant pool |
19 |
ldc_w |
|
,item |
push item
from constant pool |
204 |
ldc_w_quick |
|
,item |
push item
from constant pool |
20 |
ldc2_w |
|
,item.word1,item.word2 |
push item
from constant pool |
205 |
ldc2_w_quick |
|
,item.word1,item.word3 |
push item
from constant pool |
109 |
ldiv |
,word1,word2,word1,word2 |
,word1,word2 |
divide
long |
22 |
lload |
|
,word1,word2 |
load long
from local variable |
30 |
lload_0 |
|
,word1,word3 |
load long
from local variable |
31 |
lload_1 |
|
,word1,word4 |
load long
from local variable |
32 |
lload_2 |
|
,word1,word5 |
load long
from local variable |
33 |
lload_3 |
|
,word1,word6 |
load long
from local variable |
105 |
lmul |
,word1,word2,word1,word2 |
,word1,word2 |
multiply
long |
117 |
lneg |
,word1,word2 |
,word1,word2 |
negate
long |
171 |
lookupswitch |
,key |
|
access
jump table by key match and jump |
129 |
lor |
,word1,word2,word1,word2 |
,word1,word2 |
boolean
OR long |
113 |
lrem |
,word1,word2,word1,word3 |
,word1,word3 |
remainder
long |
173 |
lreturn |
,word1,word2 |
- |
return
long from method |
121 |
lshl |
,word1,word2,word1,word2 |
,word1,word2 |
shift
left long |
123 |
lshr |
,word1,word2,word1,word2 |
,word1,word2 |
arithmetic
shift right long |
55 |
lstore |
,word1,word2 |
|
store
long into local variable |
63 |
lstore_0 |
,word1,word2 |
|
store
long into local variable |
64 |
lstore_1 |
,word1,word2 |
|
store
long into local variable |
65 |
lstore_2 |
,word1,word2 |
|
store
long into local variable |
66 |
lstore_3 |
,word1,word2 |
|
store
long into local variable |
101 |
lsub |
,word1,word2,word1,word2 |
,word1,word2 |
subtract
long |
125 |
lushr |
,word1,word2,word1,word2 |
,word1,word2 |
logical
right long shift |
131 |
lxor |
,word1,word2,word1,word2 |
,word1,word2 |
boolean
XOR long |
194 |
monitorenter |
,objectref |
|
enter
monitor for an object |
195 |
monitorexit |
,objectref |
|
exit
monitor for an object |
197 |
multianewarray |
,count1,[count2,
] |
,arrayref |
create a
new multidimensional array |
223 |
multianewarray_quick |
,count1,[count2,
] |
,arrayref |
create a
new multidimensional array |
187 |
new |
|
,objectref |
create a
new object |
221 |
new_quick |
|
,objectref |
create a
new object |
188 |
newarray |
,count |
,arrayref |
crate a
new array |
0 |
nop |
|
|
do
nothing |
87 |
pop |
,word |
|
pop the
top word of the operand stack |
88 |
pop2 |
,word1,word2 |
|
pop the
top two words of the operand stack |
181 |
putfield |
,objectref,value |
|
set field
in an object |
181 |
putfield |
,objectref,word1,word2 |
|
set field
in an object |
207 |
putfield_quick |
|
|
|
228 |
putfield_quick_w |
|
|
|
209 |
putfield2_quick |
|
|
|
179 |
putstatic |
,value |
|
set a
static field in a class |
179 |
putstatic |
,word1,word2 |
|
set a
static field in a class |
211 |
putstatic_quick |
|
|
|
213 |
putstatic2_quick |
|
|
|
169 |
ret |
|
|
return
from a subroutine |
177 |
return |
|
- |
return
void from a method |
53 |
saload |
,arrayref,index |
,value |
load
short from array |
86 |
sastore |
,arrayref,index,value |
|
store
short into array |
17 |
sipush |
|
,value |
push
short |
95 |
swap |
,word2,word1 |
,word1,word2 |
swap top
two words on the operand stack |
170 |
tableswitch |
,index |
|
access
jump table by index and jump |
196 |
wide |
|
|
|
186 |
xxxunusedxxx |
|
|
|