[あすかぜ・ねっと]あすかぜ・ねっとその他 > JVM Opcode

JVM Opcode

参考: The Java Virtual Machine Specification, Second Edition


Assembly Description
0x00 nop Do nothing
0x01 aconst_null Push null
0x02 iconst_m1 Push int constant
0x03 iconst_0 Push int constant
0x04 iconst_1 Push int constant
0x05 iconst_2 Push int constant
0x06 iconst_3 Push int constant
0x07 iconst_4 Push int constant
0x08 iconst_5 Push int constant
0x09 lconst_0 Push long constant
0x0a lconst_1 Push long constant
0x0b fconst_0 Push float
0x0c fconst_1 Push float
0x0d fconst_2 Push float
0x0e dconst_0 Push double
0x0f dconst_1 Push double
0x10 bipush Push byte
0x11 sipush Push short
0x12 ldc Push item from runtime constant pool
0x13 ldc_w Push item from runtime constant pool (wide index)
0x14 ldc2_w Push long or double from runtime constant pool (wide index)
0x15 iload Load int from local variable
0x16 lload Load long from local variable
0x17 fload Load float from local variable
0x18 dload Load double from local variable
0x19 aload Load reference from local variable
0x1a iload_0 Load int from local variable
0x1b iload_1 Load int from local variable
0x1c iload_2 Load int from local variable
0x1d iload_3 Load int from local variable
0x1e lload_0 Load long from local variable
0x1f lload_1 Load long from local variable
0x20 lload_2 Load long from local variable
0x21 lload_3 Load long from local variable
0x22 fload_0 Load float from local variable
0x23 fload_1 Load float from local variable
0x24 fload_2 Load float from local variable
0x25 fload_3 Load float from local variable
0x26 dload_0 Load double from local variable
0x27 dload_1 Load double from local variable
0x28 dload_2 Load double from local variable
0x29 dload_3 Load double from local variable
0x2a aload_0 Load reference from local variable
0x2b aload_1 Load reference from local variable
0x2c aload_2 Load reference from local variable
0x2d aload_3 Load reference from local variable
0x2e iaload Load int from array
0x2f laload Load long from array
0x30 faload Load float from array
0x31 daload Load double from array
0x32 aaload Load reference from array
0x33 baload Load byte or boolean from array
0x34 caload Load char from array
0x35 saload Load short from array
0x36 istore Store int into local variable
0x37 lstore Store long into local variable
0x38 fstore Store float into local variable
0x39 dstore Store double into local variable
0x3a astore Store reference into local variable
0x3b istore_0 Store int into local variable
0x3c istore_1 Store int into local variable
0x3d istore_2 Store int into local variable
0x3e istore_3 Store int into local variable
0x3f lstore_0 Store long into local variable
0x40 lstore_1 Store long into local variable
0x41 lstore_2 Store long into local variable
0x42 lstore_3 Store long into local variable
0x43 fstore_0 Store float into local variable
0x44 fstore_1 Store float into local variable
0x45 fstore_2 Store float into local variable
0x46 fstore_3 Store float into local variable
0x47 dstore_0 Store double into local variable
0x48 dstore_1 Store double into local variable
0x49 dstore_2 Store double into local variable
0x4a dstore_3 Store double into local variable
0x4b astore_0 Store reference into local variable
0x4c astore_1 Store reference into local variable
0x4d astore_2 Store reference into local variable
0x4e astore_3 Store reference into local variable
0x4f iastore Store into int array
0x50 lastore Store into long array
0x51 fastore Store into float array
0x52 dastore Store into double array
0x53 aastore Store into reference array
0x54 bastore Store into byte or boolean array
0x55 castore Store into char array
0x56 sastore Store into short array
0x57 pop Pop the top operand stack value
0x58 pop2 Pop the top one or two operand stack values
0x59 dup Duplicate the top operand stack value
0x5a dup_x1 Duplicate the top operand stack value and insert two values down
0x5b dup_x2 Duplicate the top operand stack value and insert two or three values down
0x5c dup2 Duplicate the top one or two operand stack values
0x5d dup2_x1 Duplicate the top one or two operand stack values and insert two or three values down
0x5e dup2_x2 Duplicate the top one or two operand stack values and insert two, three, or four values down
0x5f swap Swap the top two operand stack values
0x60 iadd Add int
0x61 ladd Add long
0x62 fadd Add float
0x63 dadd Add double
0x64 isub Subtract int
0x65 lsub Subtract long
0x66 fsub Subtract float
0x67 dsub Subtract double
0x68 imul Multiply int
0x69 lmul Multiply long
0x6a fmul Multiply float
0x6b dmul Multiply double
0x6c idiv Divide int
0x6d ldiv Divide long
0x6e fdiv Divide float
0x6f ddiv Divide double
0x70 irem Remainder int
0x71 lrem Remainder long
0x72 frem Remainder float
0x73 drem Remainder double
0x74 ineg Negate int
0x75 lneg Negate long
0x76 fneg Negate float
0x77 dneg Negate double
0x78 ishl Shift left int
0x79 lshl Shift left
0x7a ishr Arithmetic shift right int
0x7b lshr Arithmetic shift right long
0x7c iushr Logical shift right int
0x7d lushr Logical shift right long
0x7e iand Boolean AND int
0x7f land Boolean AND long
0x80 ior Boolean OR int
0x81 lor Boolean OR long
0x82 ixor Boolean XOR int
0x83 lxor Boolean XOR long
0x84 iinc Increment local variable by constant
0x85 i2l Convert int to long
0x86 i2f Convert int to float
0x87 i2d Convert int to double
0x88 l2i Convert long to int
0x89 l2f Convert long to float
0x8a l2d Convert long to double
0x8b f2i Convert float to int
0x8c f2l Convert float to long
0x8d f2d Convert float to double
0x8e d2i Convert double to int
0x8f d2l Convert double to long
0x90 d2f Convert double to float
0x91 i2b Convert int to byte
0x92 i2c Convert int to char
0x93 i2s Convert int to short
0x94 lcmp Compare long
0x95 fcmpl Compare float
0x96 fcmpg Compare float
0x97 dcmpl Compare double
0x98 dcmpg Compare double
0x99 ifeq Branch if int comparison with zero succeeds
0x9a ifne Branch if int comparison with zero succeeds
0x9b iflt Branch if int comparison with zero succeeds
0x9c ifge Branch if int comparison with zero succeeds
0x9d ifgt Branch if int comparison with zero succeeds
0x9e ifle Branch if int comparison with zero succeeds
0x9f if_icmpeq Branch if int comparison succeeds
0xa0 if_icmpne Branch if int comparison succeeds
0xa1 if_icmplt Branch if int comparison succeeds
0xa2 if_icmpge Branch if int comparison succeeds
0xa3 if_icmpgt Branch if int comparison succeeds
0xa4 if_icmple Branch if int comparison succeeds
0xa5 if_acmpeq Branch if reference comparison succeeds
0xa6 if_acmpne Branch if reference comparison succeeds
0xa7 goto Branch always
0xa8 jsr Jump subroutine
0xa9 ret Return from subroutine
0xaa tableswitch Access jump table by index and jump
0xab lookupswitch Access jump table by key match and jump
0xac ireturn Return int from method
0xad lreturn Return long from method
0xae freturn Return float from method
0xaf dreturn Return double from method
0xb0 areturn Return reference from method
0xb1 return Return void from method
0xb2 getstatic Get static field from class
0xb3 putstatic Set static field in class
0xb4 getfield Fetch field from object
0xb5 putfield Set field in object
0xb6 invokevirtual Invoke instance method; dispatch based on class
0xb7 invokespecial Invoke instance method; special handling for superclass, private, and instance initialization method invocations
0xb8 invokestatic Invoke a class (static) method
0xb9 invokeinterface Invoke interface method
0xbb new Create new object
0xbc newarray Create new array
0xbd anewarray Create new array of reference
0xbe arraylength Get length of array
0xbf athrow Throw exception or error
0xc0 checkcast Check whether object is of given type
0xc1 instanceof Determine if object is of given type
0xc2 monitorenter Enter monitor for object
0xc3 monitorexit Exit monitor for object
0xc4 wide Extend local variable index by additional bytes
0xc5 multianewarray Create new multidimensional array
0xc6 ifnull Branch if reference is null
0xc7 ifnonnull Branch if reference not null
0xc8 goto_w Branch always (wide index)
0xc9 jsr_w Jump subroutine (wide index)
Menu

Copyright (C) 2004 asukaze, Some Rights Reserved.
Last Update: 2004/10/26
mail (at) asukaze.net