aaload=load onto the stack a reference from an array
aastore=store into a reference in an array
aconst_null=push a 
aload=load a reference onto the stack from a local variable 
aload_0=load a reference onto the stack from local variable 0
aload_1=load a reference onto the stack from local variable 1
aload_2=load a reference onto the stack from local variable 2
aload_3=load a reference onto the stack from local variable 3
anewarray=create a new array of references of length 
areturn=return a reference from a method
arraylength=get the length of an array
astore=store a reference into a local variable 
astore_0=store a reference into local variable 0
astore_1=store a reference into local variable 1
astore_2=store a reference into local variable 2
astore_3=store a reference into local variable 3
athrow=throws an error or exception (notice that the rest of the stack is cleared, leaving only a reference to the Throwable)
baload=load a byte or Boolean value from an array
bastore=store a byte or Boolean value into an array
bipush=push a 
breakpoint=reserved for breakpoints in Java debuggers; should not appear in any class file
caload=load a char from an array
castore=store a char into an array
checkcast=checks whether an 
d2f=convert a double to a float
d2i=convert a double to an int
d2l=convert a double to a long
dadd=add two doubles
daload=load a double from an array
dastore=store a double into an array
dcmpg=compare two doubles
dcmpl=compare two doubles
dconst_0=push the constant 
dconst_1=push the constant 
ddiv=divide two doubles
dload=load a double 
dload_0=load a double from local variable 0
dload_1=load a double from local variable 1
dload_2=load a double from local variable 2
dload_3=load a double from local variable 3
dmul=multiply two doubles
dneg=negate a double
drem=get the remainder from a division between two doubles
dreturn=return a double from a method
dstore=store a double 
dstore_0=store a double into local variable 0
dstore_1=store a double into local variable 1
dstore_2=store a double into local variable 2
dstore_3=store a double into local variable 3
dsub=subtract a double from another
dup=duplicate the value on top of the stack
dup_x1=insert a copy of the top value into the stack two values from the top. value1 and value2 must not be of the type double or long.
dup_x2=insert a copy of the top value into the stack two (if value2 is double or long it takes up the entry of value3, too) or three values (if value2 is neither double nor long) from the top
dup2=duplicate top two stack words (two values, if value1 is not double nor long; a single value, if value1 is double or long)
dup2_x1=duplicate two words and insert beneath third word (see explanation above)
dup2_x2=duplicate two words and insert beneath fourth word
f2d=convert a float to a double
f2i=convert a float to an int
f2l=convert a float to a long
fadd=add two floats
faload=load a float from an array
fastore=store a float in an array
fcmpg=compare two floats
fcmpl=compare two floats
fconst_0=push 
fconst_1=push 
fconst_2=push 
fdiv=divide two floats
fload=load a float 
fload_0=load a float 
fload_1=load a float 
fload_2=load a float 
fload_3=load a float 
fmul=multiply two floats
fneg=negate a float
frem=get the remainder from a division between two floats
freturn=return a float
fstore=store a float 
fstore_0=store a float 
fstore_1=store a float 
fstore_2=store a float 
fstore_3=store a float 
fsub=subtract two floats
getfield=get a field 
getstatic=get a static field 
goto=goes to another instruction at 
goto_w=goes to another instruction at 
i2b=convert an int into a byte
i2c=convert an int into a character
i2d=convert an int into a double
i2f=convert an int into a float
i2l=convert an int into a long
i2s=convert an int into a short
iadd=add two ints
iaload=load an int from an array
iand=perform a bitwise and on two integers
iastore=store an int into an array
iconst_m1=load the int value −1 onto the stack
iconst_0=load the int value 0 onto the stack
iconst_1=load the int value 1 onto the stack
iconst_2=load the int value 2 onto the stack
iconst_3=load the int value 3 onto the stack
iconst_4=load the int value 4 onto the stack
iconst_5=load the int value 5 onto the stack
idiv=divide two integers
if_acmpeq=if references are equal, branch to instruction at 
if_acmpne=if references are not equal, branch to instruction at 
if_icmpeq=if ints are equal, branch to instruction at 
if_icmpge=if 
if_icmpgt=if 
if_icmple=if 
if_icmplt=if 
if_icmpne=if ints are not equal, branch to instruction at 
ifeq=if 
ifge=if 
ifgt=if 
ifle=if 
iflt=if 
ifne=if 
ifnonnull=if 
ifnull=if 
iinc=increment local variable 
iload=load an int 
iload_0=load an int 
iload_1=load an int 
iload_2=load an int 
iload_3=load an int 
impdep1=reserved for implementation-dependent operations within debuggers; should not appear in any class file
impdep2=reserved for implementation-dependent operations within debuggers; should not appear in any class file
imul=multiply two integers
ineg=negate int
instanceof=determines if an object 
invokedynamic=invokes a dynamic method and puts the result on the stack (might be void); the method is identified by method reference 
invokeinterface=invokes an interface method on object 
invokespecial=invoke instance method on object 
invokestatic=invoke a static method and puts the result on the stack (might be void); the method is identified by method reference 
invokevirtual=invoke virtual method on object 
ior=bitwise int or
irem=logical int remainder
ireturn=return an integer from a method
ishl=int shift left
ishr=int arithmetic shift right
istore=store int 
istore_0=store int 
istore_1=store int 
istore_2=store int 
istore_3=store int 
isub=int subtract
iushr=int logical shift right
ixor=int xor
jsr=jump to subroutine at 
jsr_w=jump to subroutine at 
l2d=convert a long to a double
l2f=convert a long to a float
l2i=convert a long to a int
ladd=add two longs
laload=load a long from an array
land=bitwise and of two longs
lastore=store a long to an array
lcmp=push 0 if the two longs are the same, 1 if value1 is greater than value2, -1 otherwise
lconst_0=push the long 0 onto the stack
lconst_1=push the long 1 onto the stack
ldc=push a constant 
ldc_w=push a constant 
ldc2_w=push a constant 
ldiv=divide two longs
lload=load a long value from a local variable 
lload_0=load a long value from a local variable 0
lload_1=load a long value from a local variable 1
lload_2=load a long value from a local variable 2
lload_3=load a long value from a local variable 3
lmul=multiply two longs
lneg=negate a long
lookupswitch=a target address is looked up from a table using a key and execution continues from the instruction at that address
lor=bitwise or of two longs
lrem=remainder of division of two longs
lreturn=return a long value
lshl=bitwise shift left of a long 
lshr=bitwise shift right of a long 
lstore=store a long 
lstore_0=store a long 
lstore_1=store a long 
lstore_2=store a long 
lstore_3=store a long 
lsub=subtract two longs
lushr=bitwise shift right of a long 
lxor=bitwise exclusive or of two longs
monitorenter=enter monitor for object ("grab the lock" – start of synchronized() section)
monitorexit=exit monitor for object ("release the lock" – end of synchronized() section)
multianewarray=create a new array of 
new=create new object of type identified by class reference in constant pool 
newarray=create new array with 
nop=perform no operation
pop=discard the top value on the stack
pop2=discard the top two values on the stack (or one value, if it is a double or long)
putfield=set field to 
putstatic=set static field to 
ret=continue execution from address taken from a local variable 
return=return void from method
saload=load short from array
sastore=store short to array
sipush=push a short onto the stack
swap=swaps two top words on the stack (note that value1 and value2 must not be double or long)
tableswitch=continue execution from an address in the table at offset 
wide=execute
