Instruction Set
opcodebytesnameparamsdescriptionnotes
0x001nopnoneno-operationimplemented
0x011aconst_nullnoneload null objrefimplemented
0x021iconst_m1noneload integer value -1implemented
0x031iconst_0noneload integer value 0implemented
0x041iconst_1noneload integer value 1implemented
0x051iconst_2noneload integer value 2implemented
0x061iconst_3noneload integer value 3implemented
0x071iconst_4noneload integer value 4implemented
0x081iconst_5noneload integer value 5implemented
0x091lconst_0noneload long value 0implemented
0x0a1lconst_1noneload long value 1implemented
0x0b1fconst_0noneload float value 0implemented
0x0c1fconst_1noneload float value 1implemented
0x0d1fconst_2noneload float value 2implemented
0x0e1dconst_0noneload double value 0implemented
0x0f1dconst_1noneload double value 1implemented
0x102bipushBload byte as integerimplemented
0x113sipushSload short as integerimplemented
0x122ldciload constantimplemented
0x133ldc_wlload constant (wide)implemented
0x143ldc2_wlload 2 word constantimplemented
0x152iloadBload integer variable nimplemented
0x162lloadBload long variable nimplemented
0x172floadBload float variable nimplemented
0x182dloadBload double variable nimplemented
0x192aloadBload objref variable nimplemented
0x1a1iload_0noneload integer variable #0implemented
0x1b1iload_1noneload integer variable #1implemented
0x1c1iload_2noneload integer variable #2implemented
0x1d1iload_3noneload integer variable #3implemented
0x1e1lload_0noneload long variable #0implemented
0x1f1lload_1noneload long variable #1implemented
0x201lload_2noneload long variable #2implemented
0x211lload_3noneload long variable #3implemented
0x221fload_0noneload float variable #0implemented
0x231fload_1noneload float variable #1implemented
0x241fload_2noneload float variable #2implemented
0x251fload_3noneload float variable #3implemented
0x261dload_0noneload double variable #0implemented
0x271dload_1noneload double variable #1implemented
0x281dload_2noneload double variable #2implemented
0x291dload_3noneload double variable #3implemented
0x2a1aload_0noneload objref variable #0implemented
0x2b1aload_1noneload objref variable #1implemented
0x2c1aload_2noneload objref variable #2implemented
0x2d1aload_3noneload objref variable #3implemented
0x2e1ialoadnoneload integer from arrayimplemented
0x2f1laloadnoneload long from arrayimplemented
0x301faloadnoneload integer from arrayimpl in v1.04a
0x311daloadnoneload float from arrayimpl in v1.04
0x321aaloadnoneload objref from arrayimplemented
0x331baloadnoneload byte from arrayimplemented
0x341caloadnoneload char from arrayimplemented
0x351saloadnoneload short from arrayimpl in v1.04a
0x362istoreBstore integer in variable nimplemented
0x372lstoreBstore long in variable nimplemented
0x382fstoreBstore float in variable nimplemented
0x392dstoreBstore double in variable nimplemented
0x3a2astoreBstore objref in variable nimplemented
0x3b1istore_0nonestore integer in variable #0implemented
0x3c1istore_1nonestore integer in variable #1implemented
0x3d1istore_2nonestore integer in variable #2implemented
0x3e1istore_3nonestore integer in variable #3implemented
0x3f1lstore_0nonestore long in variable #0implemented
0x401lstore_1nonestore long in variable #1implemented
0x411lstore_2nonestore long in variable #2implemented
0x421lstore_3nonestore long in variable #3implemented
0x431fstore_0nonestore float in variable #0implemented
0x441fstore_1nonestore float in variable #1implemented
0x451fstore_2nonestore float in variable #2implemented
0x461fstore_3nonestore float in variable #3implemented
0x471dstore_0nonestore double in variable #0implemented
0x481dstore_1nonestore double in variable #1implemented
0x491dstore_2nonestore double in variable #2implemented
0x4a1dstore_3nonestore double in variable #3implemented
0x4b1astore_0nonestore objref in variable #0implemented
0x4c1astore_1nonestore objref in variable #1implemented
0x4d1astore_2nonestore objref in variable #2implemented
0x4e1astore_3nonestore objref in variable #3implemented
0x4f1iastorenonestore integer in arrayimplemented
0x501lastorenonestore long in arrayimplemented
0x511fastorenonestore float in arrayimpl in v1.04a
0x521dastorenonestore double in arrayimpl in v1.04a
0x531aastorenonestore objref in arrayimplemented
0x541bastorenonestore byte in arrayimplemented
0x551castorenonestore char in arrayimplemented
0x561sastorenonestore short in arrayimpl in v1.04a
0x571popnonepop top word of stackimplemented
0x581pop2nonepop top two words of stackimplemented
0x591dupnoneduplicate top word of stackimplemented
0x5a1dup_x1noneduplicate and put two downimplemented
0x5b1dup_x2noneduplicate and put three downimplemented
0x5c1dup2noneduplicate top two wordsimplemented
0x5d1dup2_x1noneduplicate two and put three downimplemented
0x5e1dup2_x2noneduplicate two and put four downimpl in v1.05a
0x5f1swapnoneswap top two words of stackimpl in v1.05a
0x601iaddnoneadd two integersimplemented
0x611laddnoneadd two longsimplemented
0x621faddnoneadd two floatsimplemented
0x631daddnoneadd two doublesimplemented
0x641isubnonesubtract two integersimplemented
0x651lsubnonesubtract two longsimplemented
0x661fsubnonesubtract two floatsimplemented
0x671dsubnonesubtract two doublesimplemented
0x681imulnonemultiply two integersimplemented
0x691lmulnonemultiply two longsimplemented
0x6a1fmulnonemultiply two floatsimplemented
0x6b1dmulnonemultiply two doublesimplemented
0x6c1idivnonedivide two integersimplemented
0x6d1ldivnonedivide two longsimplemented
0x6e1fdivnonedivide two floatsimplemented
0x6f1ddivnonedivide two doublesimplemented
0x701iremnoneremainder from dividing two integersimplemented
0x711lremnoneremainder from dividing two longsimplemented
0x721fremnoneremainder from dividing two floatsimpl in v1.04a
0x731dremnoneremainder from dividing two doublesimpl in v1.04a
0x741inegnonenegate an integerimplemented
0x751lnegnonenegate a longimplemented
0x761fnegnonenegate a floatimplemented
0x771dnegnonenegate a doubleimpl in v1.04a
0x781ishlnoneshift left integerimplemented
0x791lshlnoneshift left longimplemented
0x7a1ishrnoneshift right integerimplemented
0x7b1lshrnoneshift right longimplemented
0x7c1iushrnoneshift right unsigned integerimplemented
0x7d1lushrnoneshift right unsigned longimplemented
0x7e1iandnonebitwise and two integersimplemented
0x7f1landnonebitwise and two longsimplemented
0x801iornonebitwise or two integersimplemented
0x811lornonebitwise or two longsimplemented
0x821ixornonebitwise exclusive or two integersimplemented
0x831lxornonebitwise exclusive or two longsimplemented
0x843iincBBincrement integer variable by nimplemented
0x851i2lnoneconvert integer to longimplemented
0x861i2fnoneconvert integer to floatimplemented
0x871i2dnoneconvert integer to doubleimplemented
0x881l2inoneconvert long to integerimplemented
0x891l2fnoneconvert long to floatimpl in v1.04a
0x8a1l2dnoneconvert long to doubleimplemented
0x8b1f2inoneconvert float to integerimplemented
0x8c1f2lnoneconvert float to longimpl in v1.04a
0x8d1f2dnoneconvert float to doubleimplemented
0x8e1d2inoneconvert double to integerimplemented
0x8f1d2lnoneconvert double to longimplemented
0x901d2fnoneconvert double to floatimpl in v1.04a
0x911i2bnoneconvert integer to byteimplemented
0x921i2cnoneconvert integer to charimplemented
0x931i2snoneconvert integer to shortimplemented
0x941lcmpnonecompare two longsimplemented
0x951fcmplnonecompare two floats (NaN gives less)implemented
0x961fcmpgnonecompare two floats (NaN gives greater)impl in v1.04a
0x971dcmplnonecompare two double (NaN gives less)implemented
0x981dcmpgnonecompare two doubles (NaN gives greater)implemented
0x993ifeqSbranch if equalimplemented
0x9a3ifneSbranch if not equalimplemented
0x9b3ifltSbranch if less thanimplemented
0x9c3ifgeSbranch if greater equalimplemented
0x9d3ifgtSbranch if greater thanimplemented
0x9e3ifleSbranch if less equalimplemented
0x9f3if_icmpeqSbranch if int equalimplemented
0xa03if_icmpneSbranch if int not equalimplemented
0xa13if_icmpltSbranch if int less thanimplemented
0xa23if_icmpgeSbranch if int greater equalimplemented
0xa33if_icmpgtSbranch if int greater thanimplemented
0xa43if_icmpleSbranch if int less equalimplemented
0xa53if_acmpeqSbranch if objref equalimplemented
0xa63if_acmpneSbranch if objref equalimplemented
0xa73gotoSjump toimplemented
0xa83jsrSjump to pushing retimplemented
0xa92retBjump to poppedimplemented
0xaantableswitchnoneswitch using tableimplemented
0xabnlookupswitchnoneswitch using comparesimplemented
0xac1ireturnnonereturn integer from methodimplemented
0xad1lreturnnonereturn long from methodimplemented
0xae1freturnnonereturn float from methodimplemented
0xaf1dreturnnonereturn double from methodimpl in v1.04a
0xb01areturnnonereturn objref from methodimplemented
0xb11returnnonereturn from methodimplemented
0xb23getstaticfget value from static fieldimplemented
0xb33putstaticfput value into static fieldimplemented
0xb43getfieldfget value from fieldimplemented
0xb53putfieldfput value into fieldimplemented
0xb63invokevirtualminvoke ordinary virtual methodimplemented
0xb73invokespecialminvoke special methodimplemented
0xb83invokestaticminvoke static methodimplemented
0xb95invokeinterfaceSBinvoke method thru interfaceimplemented
0xba UNDEFINED
0xbb3newcnew object instanceimplemented
0xbc2newarraytnew array of given basic typeimplemented
0xbd3anewarraycnew array of objrefsimplemented
0xbe1arraylengthnoneget length of arrayimplemented
0xbf1athrownoneraise an exceptionimplemented
0xc03checkcastccheck a cast for validityimplemented
0xc13instanceofccheck if an instance of a classimplemented
0xc21monitorenternonelock an objectdummied
0xc31monitorexitnoneunlock an objectdummied
0xc41widenone implemented
0xc54multianewarraycB implemented
0xc63ifnullSbranch if an objref is nullimplemented
0xc73ifnonnullSbranch if an objref is nonnullimplemented
0xc85goto_wI impl in v1.05a
0xc95jsr_wI impl in v1.05a
0xca-0xff UNDEFINED
 
parameter encoding:  
B = byte (1 byte)S = short (2 bytes)I = int (4 bytes)
J = long (8 bytes)c = Class (2 bytes)f = FieldRef (2 bytes)
i = Literal (1 byte)l = Literal (2 bytes)m = MethodRef (2 bytes)
t = Type (1 byte)