| Instructions |
Meaning |
| Iconst_m1 |
Press the INT constant-1 into the stack |
| Iconst_0 |
The int constant is pressed into the stack |
| Fconst_1 |
The float type constant 1 is pressed into the stack |
| Lconst_2 |
Press the long constant 2 into the stack |
| Dconst_3 |
Press the double type constant 3 into the stack |
| Bipush byte1 |
Convert byte1 into int type press-in stack |
| Sipush Byte1,byte2 |
Converts a short of byte1,byte2 into an int pressed into the stack |
| Aconst_null |
To push an empty object into the stack |
| LDC Indexbyte1 |
Presses a word word for the subscript specified in the constant pool into the stack |
| Ldc_w Indexbyte1,indexbyte2 |
Presses a word word for the subscript specified in the constant pool into the stack |
| Ldc2_w Indexbyte1,intexbyte2 |
Press the two word lengths of the specified subscript in the constant pool into the stack |
| Pop |
Pop up a word on the top of the stack |
| Pop2 |
Pop-up stack top two characters |
| Swap |
Swap stack top two words |
| Dup |
Copy a WORD from the top of the stack |
| Dup2 |
Copy the top two characters of the stack |
| Dup_x1 |
Copy a word and the two words will pop up the stack |
| Dup_x2 |
Copy a word and will pop up the three-word press stack |
| Dup2_x1 |
Copy the two words and will pop up the three-word press stack |
| Dup2_x2 |
Copy two words and will pop up the four word press stack |
| Iload Vindex |
Press the int local variable of position vindex into the stack |
| Iload_0 |
Press the int local variable of position 0 into the stack |
| Fload Vindex |
The float type local variable of position Vindex is pressed into the stack |
| Fload_0 |
The float type local variable of position 0 is pressed into the stack |
| Lload Vindex |
Press the long local variable of position vindex into the stack |
| Lload_0 |
Press the long local variable of position 0 into the stack |
| Dload Vindex |
Press the double local variable of position vindex into the stack |
| Dload_0 |
Press the double local variable of position 0 into the stack |
| Aload Vindex |
Vindex the position of an object referencing a local variable into the stack |
| Aload_0 |
The object referencing the position 0 is pressed into the stack with a local variable |
| Istore Vindex |
Pop-up int, local variable stored at Vindex |
| Istore_0 |
Pop-up int, local variable stored at 0 |
| Fstore Vindex |
Popup float type, local variable stored at Vindex |
| Fstore_0 |
Float type, local variable stored at 0 |
| Lstore Vindex |
Pop-up long, local variables stored at Vindex |
| Lstore_0 |
Pop-up long, local variables stored at 0 |
| Dstore Vindex |
Pop-up double, local variable stored at Vindex |
| Dstore_0 |
Pop-up double, local variable stored at 0 |
| Astore Vindex |
Popup object reference type, local variable stored at Vindex |
| Astore_0 |
Popup object reference type, local variable stored at 0 |
| Wide Iload Byte1,byte2 |
Wide can turn the original byte parameter into a processing two bytes |
| i2l |
convert int to long type, others similar, no longer examples |
| Iadd |
Pop-up two int, add the result into the stack |
| Ladd |
Pop-up two long, add the result into the stack |
| Iinc Vindex,const |
Add constant const to local variables located in Vindex |
| Wide Iinc Index1,intdex2,const1,const2 |
Add a constant to a local variable located in Vindex1,vindex2 |
| Isub |
Pop-up two int, subtract after lint type result press into stack |
| Lsub |
Pop-up two long, subtract long result into stack |
| Imul |
Pop-up two int, multiply int type result press into stack |
| Lmul |
Pop-up two long, multiply the long result into a stack |
| Idev |
Pop-up two int, divide after int type result press into stack |
| Ldev |
Pop-up two long, divided by a long type result pressed into the stack |
| Irem |
Pop-up two int type, after remainder int type result press into stack |
| Lrem |
Pop-up two long, after the remainder of long type results pressed into the stack |
| Ineg |
Pop up an int type, take the inverse int type result pressed into the stack |
| Lneg |
pops up a long type and takes the inverted long result into the stack |
| Ishl |
Shift the int value to the left (long-similar) |
| Ishr |
Arithmetic shift of int value to right |
| Iushr |
Logical shift of int values to the right |
| Iand |
Logic and operations (long similar) for two int type values |
| Ior |
Logical OR operation on two int type values |
| Ixor |
Logical XOR operation on two int type values |
| Fadd |
Pop-up two float type, add after float type result pressed into stack |
| Fsub |
Pop-up two float type, subtract float type result pressed into stack |
| Fmul |
Pop-up two float type, multiply after float type result pressed into stack |
| Fdiv |
Pop-up two float type, divide after float type result press into stack |
| Frem |
Pop-up two float type, after the float type result pressed into the stack |
| New Indexbyte1,indexbyte2 |
Create a new object in the heap and press it into the stack |
| Putfield Indexbyte1,intdebyte2 |
Sets the value of the Object field, and the value and object reference are obtained from the stack |
| GetField Indexbyte1,indexbyte2 |
Press the object field into the stack, and the object reference is fetched from the stack |
| Putstatic Indexbyte1,indexbyte2 |
Sets the value of a class static variable, obtained from the stack |
| Getstatic Indexbyte1,indexbyte2 |
Pressing static variables into the stack |
| Checkcast Indexbyte1,indexbyte2 |
Throws an exception if the reference in the stack is not a class at the specified location |
| instanceof Indexbyte1,indexbyte2 |
Ditto, but press true or false toward the result |
| NewArray Atype |
POPs the length from the stack, assigning an array of type Atype |
| Anewarray Indexbyte1,intdexbyte2 |
Take length from stack, index take type |
| Multianewarray index1,index2,dimensions |
assigning multidimensional arrays |
| Arraylength |
POPs a reference from the stack and presses its length into the stack |
| Baload |
The array reference and subscript are taken from the stack, and the corresponding Boolean is pressed into the stack. |
| Caload |
Ibid., Char |
| Saload |
Ibid., Short |
| Iaload |
Ibid., int |
| Laload |
Ibid., Long |
| Faload |
Ibid., Folat |
| Daload |
Ibid., double |
| Aaload |
Ibid., array |
| Bastore |
Assigns a byte or Boolean value, index, and array reference to the Arrayref pop-up stack, assigning a value of Arrayref[index]=value Other types Ibid. |
| Ifeq Branchbyte1,branchbyte2 |
POPs the int type from the stack, jumps to the specified branch for 0 to execute |
| Ifne Branchbyte1,branchbyte2 |
Ditto, not 0 jumps to the specified branch execution |
| Iflt Branchbyte1,branchbyte2 |
Ibid., if less than 0, jumps to the specified branch to execute |
| Ifle Branchbyte1,branchbyte2 |
Ibid., if less than or equal to 0, jumps to the specified branch to execute |
| IFGT Branchbyte1,branchbyte2 |
IBID., if greater than 0, jumps to the specified branch to execute |
| IFGE Branchbyte1,branchbyte2 |
IBID., if greater than or equal to 0, jumps to the specified branch to execute |
| If_icmpeq Branchbyte1,branchbyte2 |
stack pops two int, if one equals the second, jumps |
| IF_ICMPME Branchbyte1,branchbyte2 |
stack pops two int, if one is not equal to the second, jump |
| IF_ICMPLT Branchbyte1,branchbyte2 |
stack pops two int, if one is less than the second one, jumps |
| If_icmple Branchbyte1,branchbyte2 |
stack pops two int, if one is less than or equal to the second one, jumps |
| IF_ICMPGT Branchbyte1,branchbyte2 |
stack pops two int, if one is greater than the second one, jumps |
| If_icmpge Branchbyte1,branchbyte2 |
stack pops two int, if one is greater than or equal to the second, jump |
| lcmp |
Pop two long from the stack, put the result-1, 0, 1 into the stack |
| Fcmpg |
Pop two float from the stack, put the results-1, 0, 1 into the stack |
| Fcmpl |
Pop two float from the stack, put the results-1, 0, 1 into the stack |
| Dcmpg |
POPs two double from the stack, putting the result-1, 0, 1 into the stack |
| Dcmpl |
POPs two double from the stack, putting the result-1, 0, 1 into the stack |
| Ifnull Branchbyte1,branchbyte2 |
POPs out of the stack and jumps to the branch if it's null |
| Ifnonnull Branchbyte1,branchbyte2 |
POPs out of the stack and jumps to the branch if it's not null |