JVM command 2

Source: Internet
Author: User
0x59dup copies the top number of stacks and pushes the copies to the top of the stack. 0x5adup_x1 copies the top number of stacks and pushes the two copies to the top of the stack. 0x5bdup_x2 copy the top number of stacks and press three (or two) copies to the top of the stack. 0x5cdup2 copies one (long or double) or two (other) numbers at the top of the stack and pushes the copy to the top of the stack. 0x5ddup

0x59 dup copies the top number of stacks and pushes the copies to the top of the stack. 0x5a dup_x1 copies the top number of stacks and pushes 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) or two (other) numbers at the top of the stack and pushes the copy to the top of the stack. 0x5d dup

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) or two (other) values at the top of the stack and pushes the copy value to the top of the stack.

0x5d dup2_x1 dup_x1 command dual version

0x5e dup2_x2 dup_x2 command dual version

0x5f swap swaps the top two values of the stack (values 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.

0x65

Lsub

Subtract the two long values at the top of the stack and press the result to the top of the stack.

0x66

Fsub

Subtract the two float values at the top of the stack and press the result to the top of the stack.

0x67

Dsub

Subtract the two double values at the top of the stack and press the result to the top of the stack.

0x68

Imul

Multiply the two int-type values at the top of the stack and press the result to the top of the stack ..

0x69

Lmul

Multiply the two long-type values at the top 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 two double values at the top of the stack and press the result to the top of the stack.

0x6c

Ip

Remove the two int-type values at the top of the stack and press the result to the top of the stack.

0x6d

Lp

Remove the two long values at the top of the stack and press the result to the top of the stack.

0x6e

Fp

Remove the top two float values of the stack and press the result to the top of the stack.

0x6f

Dp

Remove the top two double values of the stack and press the result to the top of the stack.

0x70

Irem

Perform the modulo operation on the top two int values of the stack and press the result to the top of the stack.

0x71

Lrem

Perform the modulo operation on the top two long values of the stack and press the result to the top of the stack.

0x72

Frem

Perform the modulo operation on the top two float values of the stack and press the result to the top of the stack.

0x73

Drem

Perform the modulo operation on 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 as a negative value and press the result to the top of the stack.

0x75

Lneg

Take the long value at the top of the stack as a negative value and press the result to the top of the stack.

0x76

Fneg

Take the float value at the top of the stack as a negative value and press the result to the top of the stack.

0x77

Dneg

Take the double type value at the top of the stack as a negative value and press the result to the top of the stack.

0x78

Ishl

Shift the int value left to the specified number of digits and press the result to the top of the stack.

0x79

Lshl

Shift the long value left to the specified number of digits and press the result to the top of the stack.

0x7a

Ishr

Shift the right (Signed) value of the int type to the specified number of digits and press the result to the top of the stack.

0x7b

Lshr

Shift the right (Signed) value of the long type to the specified number of digits and press the result to the top of the stack.

0x7c

Iushr

Shift the right (unsigned) value of the int type to the specified number of digits and press the result to the top of the stack.

0x7d

Lushr

Shift the right (unsigned) value of the long value to the specified number of digits and press the result to the top of the stack.

0x7e

Iand

Set the top two int values of the stack as "bitwise AND" and press the result to the top of the stack.

0x7f

Land

Set the top two long values of the stack as "bitwise AND" and press the result to the top of the stack.

0x80

Ior

Use the two int-type values at the top of the stack as "bitwise OR" and press the result to the top of the stack.


0x81

Lor

Set the top two long values of the stack as "bitwise OR" and press the result to the top of the stack.

0x82

Ixor

Use the two int-type values at the top of the stack as "bitwise XOR" and press the result to the top of the stack.

0x83

Lxor

Set the top two long values of the stack as "bitwise XOR" and press the result to the top of the stack.

0x84

Iinc

Adds a specified value to the specified int type variable.

0x85

I2l

Forcibly convert the int value at the top of the stack to a long value and press the result to the top of the stack.

0x86

I2f

Forcibly convert the int value of the stack to a float value and press the result to the top of the stack.

0x87

I2d

Forcibly convert the int value at the top of the stack to a double value and press the result to the top of the stack.

0x88

L2i

Forcibly convert the long type value at the top of the stack to an int type value and press the result to the top of the stack.

0x89

L2f

Forcibly convert the long value of the top stack to a float value and press the result to the top of the stack.

0x8a

L2d

Forcibly convert the value of the long type at the top of the stack to a value of the double type and press the result to the top of the stack.

0x8b

F2i

Forcibly convert the top float value of the stack to an int value and press the result to the top of the stack.

0x8c

F2l

Forcibly convert the top float value of the stack to a long value and press the result to the top of the stack.

0x8d

F2d

Forcibly convert the top float value of the stack to a double value and press the result to the top of the stack.

0x8e

D2i

Forcibly convert the double type value at the top of the stack to an int type value and press the result to the top of the stack.

0x8f

D2l

Forcibly convert the double value at the top of the stack to a long value and press the result to the top of the stack.

0x90

D2f

Forcibly convert the double value at the top of the stack to a float value and press the result to the top of the stack.

0x91

I2b

Forcibly convert the int value at the top of the stack to a byte value and press the result to the top of the stack.

0x92

I2c

Forcibly convert the int value at the top of the stack to a char value and press the result to the top of the stack.

0x93

I2s

Forcibly convert the int value at the top of the stack to the short value and press the result to the top of the stack.

0x94

Lcmp

Compare the two long values at the top of the stack, and press the result (,-1) into the top of the stack.

0x95

Fcmpl

Compare the top two float values of the stack and press the result (,-1) to the top of the stack. When one of the values is NaN, press-1 to the top of the stack.

0x96

Fcmpg

Compare the top two float values of the stack and press the result (,-1) to the top of the stack. When one of the values is NaN, press 1 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) to the top of the stack. When one value is NaN, press-1 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 top of the stack. When one of the values is NaN, press 1 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

Jump when the int 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

Compare the two int-type values at the top of the stack, and jump when the result is equal to 0.

0xa0

If_icmpne

Compare the values of the two int types at the top of the stack. When the result is not equal to 0, the system jumps.

0xa1

If_icmplt

Compare the top two int values of the stack. When the result is smaller than 0, the system jumps.

0xa2

If_icmpge

Compare the two int-type values at the top of the stack. When the result is greater than or equal to 0, the system jumps.

0xa3

If_icmpgt

Compare the values of the top two int types on the stack. When the result is greater than 0, it jumps.

0xa4

If_icmple

Compare the values of the two int types at the top of the stack. When the result is smaller than or equal to 0, the system jumps.

0xa5

If_acmpeq

Compare the two reference values at the top of the stack, and jump when the results are equal.

0xa6

If_acmpne

Compare the two reference values at the top of the stack, and jump when the results are not equal.

0xa7

Goto

Unconditional jump.

0xa8

Jsr

Jump to the specified 16-bit offset and press the next jsr instruction address to the top of the stack.

0xa9

Ret

Return the command location of the index specified by the local variable (usually used in combination with jsr and jsr_w ).

0xaa

Tableswitch

It is used for switch conditional jump, and the case value is continuous (Variable Length command ).

0xab

Lookupswitch

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

Return void from the current method.

0xb2

Getstatic

Obtains the static domain of the specified class and pushes its value to the top of the stack.

0xb3

Putstatic

Assign values to the static fields 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

Assign values to the instance domains of the specified class.

0xb6

Invokevirtual

Call the instance method.

0xb7

Invokespecial

Call the superclass constructor, instance initialization method, and private method.

0xb8

Invokestatic

Call static methods.

0xb9

Invokeinterfac

E

Call the interface method.

0xba

Invokedynamic

Call Dynamic Link Method 1.

0xbb

New

Create an object and push its reference value to the top of the stack.

0xbc

Newarray

Create an array of the specified original type (such as int, float, char...) and press its 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 length value of the array and press it to the top of the stack.

0xbf

Athrow

Throw an exception at the top of the stack.

0xc0

Checkcast

Checks type conversion and throws ClassCastException.

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 to the top of the stack.

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 executing this command, the length value of each dimension must be included in the Operation stack), and pushes 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 pushes the next instruction address of jsr_w 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.