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 |