Operation Code enable ~ Temp

Source: Internet
Author: User

In order to facilitate searching and sometimes prevent file forgetting, I directly pasted it.

Bytecode

Mnemonic
Description
0x00 NOP does nothing.
0x01 aconst_null pushes null to the top of the stack.
0x02 iconst_m1 pushes int-1 to the top of the stack.
0x03 iconst_0 pushes int Type 0 to the top of the stack.
0x04 iconst_1 pushes int type 1 to the top of the stack.
0x05 iconst_2 push int type 2 to the top of the stack.
0x06 iconst_3 push int Type 3 to the top of the stack.
0x07 iconst_4 pushes int type 4 to the top of the stack.
0x08 iconst_5 pushes int type 5 to the top of the stack.
0x09 lconst_0 pushes long 0 to the top of the stack.
0x0a lconst_1 pushes Long TYPE 1 to the top of the stack.
0x0b fconst_0 pushes float 0 to the top of the stack.
0x0c fconst_1 pushes Float Type 1 to the top of the stack.
0x0d fconst_2 pushes Float Type 2 to the top of the stack.
0x0e dconst_0 pushes Double Type 0 to the top of the stack.
0x0f dconst_1 pushes double type 1 to the top of the stack.
0x10 bipush convert the constant value of a single byte (-128 ~ 127) pushed to the top of the stack.
0x11 sipush returns a constant value of a short INTEGER (-32768 ~ 32767) pushed to the top of the stack.
0x12 LDC pushes int, float, or String constant values from the constant pool to the top of the stack.
0x13 ldc_w pushes int, float, or String constant values from the constant pool to the top of the stack (width
Index)
.
1
Note:
The "directive meaning" column does not exist in the original canonicalized text. It is intended for readers to use it easily. The translator himself joins the column.
379th pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0x14 ldc2_w pushes long or double constant values from the constant pool to the top of the stack (wide index)
.
0x15 iload pushes the specified int-type local variable to the top of the stack.
0x16 lLoad pushes the specified long local variable to the top of the stack.
0x17 fload pushes the specified float local variable to the top of the stack.
0x18 dload pushes the specified double local variable to the top of the stack.
0x19 aload pushes the specified reference type local variable to the top of the stack.
0x1a iload_0 pushes the first int type local variable to the top of the stack.
0x1b iload_1 pushes the second int type local variable to the top of the stack.
0x1c iload_2 pushes the third int type local variable to the top of the stack.
0x1d iload_3 pushes the fourth int local variable to the top of the stack.
0x1e lload_0 pushes the first long local variable to the top of the stack.
0x1f lload_1 pushes the second long local variable to the top of the stack.
0x20 lload_2 pushes the third long local variable to the top of the stack.
0x21 lload_3 pushes the fourth long local variable to the top of the stack.
0x22 fload_0 pushes the first float local variable to the top of the stack.
0x23 fload_1 pushes the second float local variable to the top of the stack.
0x24 fload_2 push the third float local variable to the top of the stack
0x25 fload_3 pushes the fourth float local variable to the top of the stack.
0x26 dload_0 pushes the first double local variable to the top of the stack.
0x27 dload_1 pushes the second double local variable to the top of the stack.
0x28 dload_2 pushes the third double local variable to the top of the stack.
0x29 dload_3 pushes the fourth double local variable to the top of the stack.
0x2a aload_0 pushes the first referenced local variable to the top of the stack.
0x2b aload_1 pushes the second referenced local variable to the top of the stack.
0x2c aload_2 pushes the third referenced local variable to the top of the stack.
0x2d aload_3 pushes the fourth referenced local variable to the top of the stack.
0x2e iaload pushes the index value specified by the int array to the top of the stack.
0x2f laload pushes the index value specified by the long array to the top of the stack.
380th pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0x30 faload pushes the index value specified by the float array to the top of the stack.
0x31 daload pushes the value of the index specified by the double array to the top of the stack.
0x32 aaload pushes the index value specified by the referenced array to the top of the stack.
0x33 baload pushes the specified index value of a Boolean OR byte array to the top of the stack.
0x34 caload pushes the specified index value of the char array to the top of the stack.
0x35 saload pushes the value of the Short array specified index to the top of the stack.
0x36 istore saves the top int value of the stack to the specified local variable.
0x37 lstore saves the long value at the top of the stack to the specified local variable.
0x38 fstore saves the top float value of the stack to the specified local variable.
0x39 dstore stores the double value at the top of the stack to the specified local variable.
0x3a astore saves the top-referenced value of the stack to the specified local variable.
0x3b istore_0 saves the int value at the top of the stack to the first local variable.
0x3c istore_1 saves the top int value of the stack to the second local variable.
0x3d istore_2 stores the top int value of the stack into the third local variable.
0x3e istore_3 saves the int value at the top of the stack to the fourth local variable.
0x3f lstore_0: store the long value at the top of the stack to the first local variable.
0x40 lstore_1 saves the long value at the top of the stack to the second local variable.
0x41 lstore_2 store the long value at the top of the stack to the third local variable.
0x42 lstore_3 store the long value at the top of the stack into the fourth local variable.
0x43 fstore_0 store the top float value of the stack to the first local variable.
0x44 fstore_1 saves the top float value of the stack to the second local variable.
0x45 fstore_2 saves the top float value of the stack to the third local variable.
0x46 fstore_3 saves the top float value of the stack to the fourth local variable.
0x47 dstore_0 store the double type value on the top of the stack to the first local variable.
0x48 dstore_1 saves the double value at the top of the stack to the second local variable.
0x49 dstore_2 store the double type value on the top of the stack to the third local variable.
0x4a dstore_3 stores the double value at the top of the stack into the fourth local variable.
0x4b astore_0 stores the top reference value of the stack into the first local variable.
381st pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0x4c astore_1 saves the top reference value of the stack to the second local variable.
0x4d astore_2 saves the top reference value of the stack to the third local variable
0x4e astore_3 stores the reference value at the top of the stack into the fourth local variable.
0x4f iastore stores the top int value of the stack into the specified index location of the specified array
0x50 lastore saves the long value at the top of the stack to the specified index location of the specified array.
0x51 fastore stores the top float value of the stack to the specified index location of the specified array.
0x52 dastore stores the double value at the top of the stack to the specified index location of the specified array.
0x53 aastore stores the top reference value of the stack to the specified index location of the specified array.
0x54 bastore stores the top Boolean OR byte values of the stack to the specified index position of the specified array.
0x55 Castore stores the top char value of the stack to the specified index location of the specified array
0x56 sastore stores the short value on the top of the stack to the specified index location of the specified array.
0x57 pop pops up the top number of stacks (values cannot be of the long or double type)
.
0x58 pop2 pops up one (long or double) or two values at the top of the stack (its
It)
.
0x59 DUP copies the top number of stacks and pushes the copy value to the top of the stack.
0x5a dup_x1 copies the top number of stacks and pushes the two copies to the top of the stack.
0x5b dup_x2 copies the top number of stacks and pushes three (or two) copies to the top of the stack.
0x5c dup2 copies one (long or double type) or two (other) values at the top of the stack and
Press the copy value to the top of the stack.
0x5d dup2_x1 dup_x1 command.
0x5e dup2_x2 dup_x2 command double version.
0x5f swap swaps the top two values of the stack (the value cannot be of the long or double type)
)
.
0x60 iadd adds the top two int values of the stack and pushes the result to the top of the stack.
0x61 Ladd adds the top two long values of the stack and pushes the result to the top of the stack.
0x62 FADD adds the top two float values of the stack and pushes the result to the top of the stack.
0x63 dadd adds the top two double values of the stack and pushes the result to the top of the stack.
0x64 isub subtract the top two int values of the stack and press the result to the top of the stack.
382nd pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0x65 LSUB subtract two long values from the top of the stack and press the result to the top of the stack.
0x66 fsub subtract the top two float values of the stack and press the result to the top of the stack.
0x67 dsub subtract the top two double values of the stack and press the result to the top of the stack.
0x68 imul multiply the top two int values of the stack and press the result to the top of the stack.
.
0x69 lmul multiply the top two long values of the stack and press the result to the top of the stack.
0x6a fmul multiply the top two float values of the stack and press the result to the top of the stack.
0x6b dmul multiply the top two double values of the stack and press the result to the top of the stack.
0x6c idiv splits the top two int values of the stack and pushes the result to the top of the stack.
0x6d ldiv splits the top two long values of the stack and pushes the result to the top of the stack.
0x6e fdiv splits the top two float values of the stack and pushes the result to the top of the stack.
0x6f ddiv splits the top two double values of the stack and pushes the result to the top of the stack.
0x70 irem modulo the top two int values of the stack and press the result to the top of the stack.
0x71 lrem modulo the top two long values of the stack and press the result to the top of the stack.
0x72 frem modulo the top two float values of the stack and press the result to the top of the stack.
0x73 drem modulo the top two double values of the stack and press the result to the top of the stack.
0x74 INEG: Take the int value at the top of the stack and press the result to the top of the stack.
0x75 lneg takes the long value at the top of the stack as the negative value and pushes the result to the top of the stack.
0x76 fneg takes the float value at the top of the stack as the negative value and pushes the result to the top of the stack.
0x77 dneg takes the double type value at the top of the stack as the negative value and pushes the result to the top of the stack.
0x78 ishl shifts the int value left to the specified number of digits and pushes the result to the top of the stack.
0x79 lshl shifts the long value left to a specified number of digits and pushes the result to the top of the stack.
0x7a ISHR shifts the right (Signed) int value to a specified number of digits and pushes the result to the top of the stack.
0x7b lshr shifts the right (Signed) value of the long type to a specified number of digits and pushes the result to the top of the stack.
0x7c iushr shifts the int value to the right (unsigned) specified number of digits and pushes the result to the top of the stack.
0x7d lushr shifts the long value to the right (unsigned) to a specified number of digits and pushes the result to the top of the stack.
0x7e Iand uses the top two int values of the stack as "bitwise AND" and pushes the result to the top of the stack.
0x7f land uses the top two long values of the stack as "bitwise AND" and pushes the result to the top of the stack.
0x80 ior uses the top two int values of the stack as "bitwise OR" and pushes the result to the top of the stack.
383rd pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0x81 lor uses the top two long values of the stack as "bitwise OR" and pushes the result to the top of the stack.
0x82 ixor uses the top two int values of the stack as "bitwise XOR" and pushes the result to the top of the stack.
0x83 lxor uses the top two long values of the stack as "bitwise XOR" and pushes the result to the top of the stack.
0x84 iinc adds the specified int type variable to the specified value.
0x85 I2L forcibly converts the int value at the top of the stack to a long value and pushes the result to the top of the stack.
0x86 i2f forcibly converts the int value at the top of the stack to a float value and pushes the result to the top of the stack.
0x87 I2D forcibly converts the int value at the top of the stack to a double value and pushes the result to the stack.
Top.
0x88 l2i forcibly converts the long value at the top of the stack to an int value and pushes the result to the top of the stack.
0x89 l2f forcibly converts the long value at the top of the stack to a float value and pushes the result to the stack.
Top.
0x8a
L2d
Forcibly convert the long value at the top of the stack to a double value and press the result into the stack.
Top.
0x8b f2i forcibly converts the top float value of the stack to an int value and pushes the result to the top of the stack.
0x8c f2l forcibly converts the top float value of the stack to a long value and pushes the result to the stack.
Top.
0x8d
F2d
Forcibly convert the top float value of the stack to a double value and press the result into the stack.
Top.
0x8e
D2i
Forcibly convert the double value at the top of the stack to an int value and press the result into the stack.
Top.
0x8f
D2l
Forcibly convert the double value at the top of the stack to a long value and press the result into the stack.
Top.
0x90
D2F
Forcibly convert the double value at the top of the stack to a float value and press the result into the stack.
Top.
0x91 i2b forcibly converts the int value at the top of the stack to a byte value and pushes the result to the top of the stack.
0x92 I2C forcibly converts the int value at the top of the stack to a char value and pushes the result to the top of the stack.
0x93 I2S forcibly converts the int value at the top of the stack to the short value and pushes the result to the top of the stack.
0x94 lcmp compares the two long numeric values at the top of the stack and pushes the result (,-1) to the top of the stack.
384th pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0x95
Fcmpl
Compare the top two float values of the stack and press the result (,-1) into the stack.
When one of the values is Nan,-1 is pushed to the top of the stack.
0x96
Fcmpg
Compare the top two float values of the stack and press the result (,-1) into the stack.
When one of the values is Nan, 1 is pushed to the top of the stack.
0x97
Dcmpl
Compare the values of the double type at the top of the stack and press the result (,-1) into the stack.
When one of the values is Nan,-1 is pushed to the top of the stack.
0x98
Dcmpg
Compare the values of the double type at the top of the stack and press the result (,-1) into the stack.
When one of the values is Nan, 1 is pushed to the top of the stack.
0x99 ifeq jump when the int value at the top of the stack is equal to 0.
0x9a ifne jump when the int value at the top of the stack is not equal to 0.
0x9b iflt jump when the int value at the top of the stack is smaller than 0.
0x9c ifge redirects when the int type value at the top of the stack is greater than or equal to 0.
0x9d ifgt jump when the int value at the top of the stack is greater than 0.
0x9e ifle jump when the int value at the top of the stack is less than or equal to 0.
0x9f if_icmpeq compares the values of the two int types at the top of the stack, and jumps when the result is equal to 0.
0xa0 if_icmpne compares the values of the two int types at the top of the stack, and jumps when the result is not equal to 0.
0xa1 if_icmplt compares the values of the two int types at the top of the stack and jumps when the result is smaller than 0.
0xa2 if_icmpge compares the values of the two int types at the top of the stack and jumps when the result is greater than or equal to 0.
0xa3 if_icmpgt compares the values of the two int types at the top of the stack and jumps when the result is greater than 0.
0xa4 if_icmple compares the values of the two int types at the top of the stack and jumps when the result is smaller than or equal to 0.
0xa5 if_acmpeq compares the two reference values at the top of the stack and jumps when the results are equal.
0xa6 if_acmpne compares the two reference values at the top of the stack and jumps when the results are not equal.
0xa7 Goto: unconditional jump.
0xa8 JSR jumps to the specified 16-bit offset position and pushes the next command address of JSR
Stack top.
0xa9
RET
Returns the instruction location of the index specified by the local variable.
(Generally with JSR,
Jsr_w
Joint Use)
.
0xaa
Tableswitch
Used for switch conditional jump, case value continuity (Variable Length command)
.
385th pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0xab lookupswitch is used for switch conditional jump, case value is not continuous (Variable Length command)
.
0xac ireturn returns int from the current method.
0xad lreturn returns long from the current method.
0xae freturn returns float from the current method.
0xaf dreturn returns double from the current method.
0xb0 areturn returns an object reference from the current method.
0xb1 return returns void from the current method.
0xb2 getstatic gets the static field of the specified class and pushes its value to the top of the stack.
0xb3 putstatic assigns a value to the static field of the specified class.
0xb4 getfield obtains the instance domain of the specified class and pushes its value to the top of the stack.
0xb5 putfield assigns a value to the instance field of the specified class.
0xb6 invokevirtual calls the instance method.
0xb7 invokespecial calls the superclass constructor, instance initialization method, and private method.
0xb8 invokestatic calls the static method.
0xb9 invokeinterfac calls the interface method.
E
0xba invokedynamic calls Dynamic Link Method 1.
0xbb new creates an object and pushes its reference value to the top of the stack.
0xbc newarray creates an array of the specified primitive types (such as int, float, Char,
And press the reference value to the top of the stack.
0xbd
Anewarray
Create an array of referenced types (such as classes, interfaces, and arrays) and press the referenced values
Top of the stack.
0xbe arraylength: Obtain the array Length Value and press it to the top of the stack.
0xbf athrow throws an exception at the top of the stack.
0xc0 checkcast checks the type conversion. If the test fails, classcastexception is thrown.
0xc1 instanceof checks whether the object is an instance of the specified class. If it is to press 1 to the top of the stack, otherwise
0 is pushed to the top of the stack.
1
The invokedynamic command with the operation code 186 (0xba) is newly added to Java SE 7.
386th pages/387 pages
Java Virtual Machine specifications-Chapter 1 operator Code enable
0xc2 monitorenter obtains the object's monitor, which is used for synchronization methods or synchronization blocks.
0xc3 monitorexit releases the monitor of the object for Synchronous methods or synchronization blocks.
0xc4 wide extends the index width for accessing the local variable table.
0xc5 multianewarray creates a multi-dimensional array of the specified type and dimension (when this command is executed
Must contain length values of each dimension)
And press the reference value to the top of the stack.
Jump when 0xc6 ifnull is null.
Jump when 0xc7 ifnonnull is not null.
0xc8 goto_w unconditional jump (wide index)
.
0xc9 jsr_w redirects to the specified 32-bit address offset, and sets the next command address of jsr_w.
Press to the top of the stack.
Reserved command
0xca breakpoint indicates the breakpoint during debugging.
0xfe impdep1 is a language backdoor used in a specific hardware.
0xff impdep1 is a language backdoor used in a specific hardware.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.