日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

虚拟机字节码指令表

發(fā)布時間:2023/12/31 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 虚拟机字节码指令表 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
字節(jié)碼助記符指令含義
0x00nopNone
0x01aconst_null將null推送至棧頂
0x02iconst_m1將int型-1推送至棧頂
0x03iconst_0將int型0推送至棧頂
0x04iconst_1將int型1推送至棧頂
0x05iconst_2將int型2推送至棧頂
0x06iconst_3將int型3推送至棧頂
0x07iconst_4將int型4推送至棧頂
0x08iconst_5將int型5推送至棧頂
0x09lconst_0將long型0推送至棧頂
0x0alconst_1將long型1推送至棧頂
0x0bfconst_0將float型0推送至棧頂
0x0cfconst_1將float型1推送至棧頂
0x0dfconst_2將float型2推送至棧頂
0x0edconst_0將double型0推送至棧頂
0x0fdconst_1將double型1推送至棧頂
0x10bipush將單字節(jié)的常量值(-128~127)推送至棧頂
0x11sipush將一個短整型常量(-32768~32767)推送至棧頂
0x12ldc將int,float或String型常量值從常量池中推送至棧頂
0x13ldc_w將int,float或String型常量值從常量池中推送至棧頂(寬索引)
0x14ldc2_w將long或double型常量值從常量池中推送至棧頂(寬索引)
0x15iload將指定的int型本地變量推送至棧頂
0x16lload將指定的long型本地變量推送至棧頂
0x17fload將指定的float型本地變量推送至棧頂
0x18dload將指定的double型本地變量推送至棧頂
0x19aload將指定的引用類型本地變量推送至棧頂
0x1aiload_0將第一個int型本地變量推送至棧頂
0x1biload_1將第二個int型本地變量推送至棧頂
0x1ciload_2將第三個int型本地變量推送至棧頂
0x1diload_3將第四個int型本地變量推送至棧頂
0x1elload_0將第一個long型本地變量推送至棧頂
0x1flload_1將第二個long型本地變量推送至棧頂
0x20lload_2將第三個long型本地變量推送至棧頂
0x21lload_3將第四個long型本地變量推送至棧頂
0x22fload_0將第一個float型本地變量推送至棧頂
0x23fload_1將第二個float型本地變量推送至棧頂
0x24fload_2將第三個float型本地變量推送至棧頂
0x25fload_3將第四個float型本地變量推送至棧頂
0x26dload_0將第一個double型本地變量推送至棧頂
0x27dload_1將第二個double型本地變量推送至棧頂
0x28dload_2將第三個double型本地變量推送至棧頂
0x29dload_3將第四個double型本地變量推送至棧頂
0x2aaload_0將第一個引用類型本地變量推送至棧頂
0x2baload_1將第二個引用類型本地變量推送至棧頂
0x2caload_2將第三個引用類型本地變量推送至棧頂
0x2daload_3將第四個引用類型本地變量推送至棧頂
0x2eiaload將int型數(shù)組指定索引的值推送至棧頂
0x2flaload將long型數(shù)組指定索引的值推送至棧頂
0x30faload將float型數(shù)組指定索引的值推送至棧頂
0x31daload將double型數(shù)組指定索引的值推送至棧頂
0x32aaload將引用類型數(shù)組指定索引的值推送至棧頂
0x33baload將boolean或byte型數(shù)組指定索引的值推送至棧頂
0x34caload將char型數(shù)組指定索引的值推送至棧頂
0x35saload將short型數(shù)組指定索引的值推送至棧頂
0x36istore將棧頂int型數(shù)值存入指定本地變量
0x37lstore將棧頂long型數(shù)值存入指定本地變量
0x38fstore將棧頂float型數(shù)值存入指定本地變量
0x39dstore將棧頂double型數(shù)值存入指定本地變量
0x3aastore將棧頂引用類型數(shù)值存入指定本地變量
0x3bistore_0將棧頂int型數(shù)值存入第一個本地變量
0x3cistore_1將棧頂int型數(shù)值存入第二個本地變量
0x3distore_2將棧頂int型數(shù)值存入第三個本地變量
0x3eistore_3將棧頂int型數(shù)值存入第四個本地變量
0x3flstore_0將棧頂long型數(shù)值存入第一個本地變量
0x40lstore_1將棧頂long型數(shù)值存入第二個本地變量
0x41lstore_2將棧頂long型數(shù)值存入第三個本地變量
0x42lstore_3將棧頂long型數(shù)值存入第四個本地變量
0x43fstore_0將棧頂float型數(shù)值存入第一個本地變量
0x44fstore_1將棧頂float型數(shù)值存入第二個本地變量
0x45fstore_2將棧頂float型數(shù)值存入第三個本地變量
0x46fstore_3將棧頂float型數(shù)值存入第四個本地變量
0x47dstore_0將棧頂double型數(shù)值存入第一個本地變量
0x48dstore_1將棧頂double型數(shù)值存入第二個本地變量
0x49dstore_2將棧頂double型數(shù)值存入第三個本地變量
0x4adstore_3將棧頂double型數(shù)值存入第四個本地變量
0x4bastore_0將棧頂引用型數(shù)值存入第一個本地變量
0x4castore_1將棧頂引用型數(shù)值存入第二個本地變量
0x4dastore_2將棧頂引用型數(shù)值存入第三個本地變量
0x4eastore_3將棧頂引用型數(shù)值存入第四個本地變量
0x4fiastore將棧頂int型數(shù)值存入指定數(shù)組的指定索引位置
0x50lastore將棧頂long型數(shù)值存入指定數(shù)組的指定索引位置
0x51fastore將棧頂float型數(shù)值存入指定數(shù)組的指定索引位置
0x52dastore將棧頂double型數(shù)值存入指定數(shù)組的指定索引位置
0x53aastore將棧頂引用型數(shù)值存入指定數(shù)組的指定索引位置
0x54bastore將棧頂boolean或byte型數(shù)值存入指定數(shù)組的指定索引位置
0x55castore將棧頂char型數(shù)值存入指定數(shù)組的指定索引位置
0x56sastore將棧頂short型數(shù)值存入指定數(shù)組的指定索引位置
0x57pop將棧頂數(shù)值彈出(數(shù)值不能是long或double類型的)
0x58pop2將棧頂?shù)囊粋€(對于非long或double類型)或兩個數(shù)值
(對于非long或double的其他類型)彈出
0x59dup復(fù)制棧頂數(shù)值并將復(fù)制值壓入棧頂
0x5adup_x1復(fù)制棧頂數(shù)值并將兩個復(fù)制值壓入棧頂
0x5bdup_x2復(fù)制棧頂數(shù)值并將三個(或兩個)復(fù)制值壓入棧頂
0x5cdup2復(fù)制棧頂一個(對于long或double類型)或兩個
(對于非long或double的其他類型)數(shù)值并將復(fù)制值壓入棧頂
0x5ddup2_x1dup_x1指令的雙倍版本
0x5edup2_x2dup_x2指令的雙倍版本
0x5fswap將棧頂最頂端的兩個數(shù)值互換(數(shù)值不能是long或double類型)
0x60iadd將棧頂兩int型數(shù)值相加并將結(jié)果壓入棧頂
0x61ladd將棧頂兩long型數(shù)值相加并將結(jié)果壓入棧頂
0x62fadd將棧頂兩float型數(shù)值相加并將結(jié)果壓入棧頂
0x63dadd將棧頂兩double型數(shù)值相加并將結(jié)果壓入棧頂
0x64isub將棧頂兩int型數(shù)值相減并將結(jié)果壓入棧頂
0x65lsub將棧頂兩long型數(shù)值相減并將結(jié)果壓入棧頂
0x66fsub將棧頂兩float型數(shù)值相減并將結(jié)果壓入棧頂
0x67dsub將棧頂兩double型數(shù)值相減并將結(jié)果壓入棧頂
0x68imul將棧頂兩int型數(shù)值相乘并將結(jié)果壓入棧頂
0x69lmul將棧頂兩long型數(shù)值相乘并將結(jié)果壓入棧頂
0x6afmul將棧頂兩float型數(shù)值相乘并將結(jié)果壓入棧頂
0x6bdmul將棧頂兩double型數(shù)值相乘并將結(jié)果壓入棧頂
0x6cidiv將棧頂兩int型數(shù)值相除并將結(jié)果壓入棧頂
0x6dldiv將棧頂兩long型數(shù)值相除并將結(jié)果壓入棧頂
0x6efdiv將棧頂兩float型數(shù)值相除并將結(jié)果壓入棧頂
0x6fddiv將棧頂兩double型數(shù)值相除并將結(jié)果壓入棧頂
0x70irem將棧頂兩int型數(shù)值作取模運算并將結(jié)果壓入棧頂
0x71lrem將棧頂兩long型數(shù)值作取模運算并將結(jié)果壓入棧頂
0x72frem將棧頂兩float型數(shù)值作取模運算并將結(jié)果壓入棧頂
0x73drem將棧頂兩double型數(shù)值作取模運算并將結(jié)果壓入棧頂
0x74ineg將棧頂int型數(shù)值取負并將結(jié)果壓入棧頂
0x75lneg將棧頂long型數(shù)值取負并將結(jié)果壓入棧頂
0x76fneg將棧頂float型數(shù)值取負并將結(jié)果壓入棧頂
0x77dneg將棧頂double型數(shù)值取負并將結(jié)果壓入棧頂
0x78ishl將int型數(shù)值左移指定位數(shù)并將結(jié)果壓入棧頂
0x79lshl將long型數(shù)值左移指定位數(shù)并將結(jié)果壓入棧頂
0x7aishr將int型數(shù)值右(帶符號)移指定位數(shù)并將結(jié)果壓入棧頂
0x7blshr將long型數(shù)值右(帶符號)移指定位數(shù)并將結(jié)果壓入棧頂
0x7ciushr將int型數(shù)值右(無符號)移指定位數(shù)并將結(jié)果壓入棧頂
0x7dlushr將long型數(shù)值右(無符號)移指定位數(shù)并將結(jié)果壓入棧頂
0x7eiand將棧頂兩int型數(shù)值"按位與"并將結(jié)果壓入棧頂
0x7fland將棧頂兩long型數(shù)值"按位與"并將結(jié)果壓入棧頂
0x80ior將棧頂兩int型數(shù)值"按位或"并將結(jié)果壓入棧頂
0x81lor將棧頂兩long型數(shù)值"按位或"并將結(jié)果壓入棧頂
0x82ixor將棧頂兩int型數(shù)值"按位異或"并將結(jié)果壓入棧頂
0x83lxor將棧頂兩long型數(shù)值"按位異或"并將結(jié)果壓入棧頂
0x84iinc將指定int型變量增加指定值(如i++, i–, i+=2等)
0x85i2l將棧頂int型數(shù)值強制轉(zhuǎn)換為long型數(shù)值并將結(jié)果壓入棧頂
0x86i2f將棧頂int型數(shù)值強制轉(zhuǎn)換為float型數(shù)值并將結(jié)果壓入棧頂
0x87i2d將棧頂int型數(shù)值強制轉(zhuǎn)換為double型數(shù)值并將結(jié)果壓入棧頂
0x88l2i將棧頂long型數(shù)值強制轉(zhuǎn)換為int型數(shù)值并將結(jié)果壓入棧頂
0x89l2f將棧頂long型數(shù)值強制轉(zhuǎn)換為float型數(shù)值并將結(jié)果壓入棧頂
0x8al2d將棧頂long型數(shù)值強制轉(zhuǎn)換為double型數(shù)值并將結(jié)果壓入棧頂
0x8bf2i將棧頂float型數(shù)值強制轉(zhuǎn)換為int型數(shù)值并將結(jié)果壓入棧頂
0x8cf2l將棧頂float型數(shù)值強制轉(zhuǎn)換為long型數(shù)值并將結(jié)果壓入棧頂
0x8df2d將棧頂float型數(shù)值強制轉(zhuǎn)換為double型數(shù)值并將結(jié)果壓入棧頂
0x8ed2i將棧頂double型數(shù)值強制轉(zhuǎn)換為int型數(shù)值并將結(jié)果壓入棧頂
0x8fd2l將棧頂double型數(shù)值強制轉(zhuǎn)換為long型數(shù)值并將結(jié)果壓入棧頂
0x90d2f將棧頂double型數(shù)值強制轉(zhuǎn)換為float型數(shù)值并將結(jié)果壓入棧頂
0x91i2b將棧頂int型數(shù)值強制轉(zhuǎn)換為byte型數(shù)值并將結(jié)果壓入棧頂
0x92i2c將棧頂int型數(shù)值強制轉(zhuǎn)換為char型數(shù)值并將結(jié)果壓入棧頂
0x93i2s將棧頂int型數(shù)值強制轉(zhuǎn)換為short型數(shù)值并將結(jié)果壓入棧頂
0x94lcmp比較棧頂兩long型數(shù)值大小, 并將結(jié)果(1, 0或-1)壓入棧頂
0x95fcmpl比較棧頂兩float型數(shù)值大小, 并將結(jié)果(1, 0或-1)壓入棧頂;
當(dāng)其中一個數(shù)值為NaN時, 將-1壓入棧頂
0x96fcmpg比較棧頂兩float型數(shù)值大小, 并將結(jié)果(1, 0或-1)壓入棧頂;
當(dāng)其中一個數(shù)值為NaN時, 將1壓入棧頂
0x97dcmpl比較棧頂兩double型數(shù)值大小, 并將結(jié)果(1, 0或-1)壓入棧頂;
當(dāng)其中一個數(shù)值為NaN時, 將-1壓入棧頂
0x98dcmpg比較棧頂兩double型數(shù)值大小, 并將結(jié)果(1, 0或-1)壓入棧頂;
當(dāng)其中一個數(shù)值為NaN時, 將1壓入棧頂
0x99ifeq當(dāng)棧頂int型數(shù)值等于0時跳轉(zhuǎn)
0x9aifne當(dāng)棧頂int型數(shù)值不等于0時跳轉(zhuǎn)
0x9biflt當(dāng)棧頂int型數(shù)值小于0時跳轉(zhuǎn)
0x9cifge當(dāng)棧頂int型數(shù)值大于等于0時跳轉(zhuǎn)
0x9difgt當(dāng)棧頂int型數(shù)值大于0時跳轉(zhuǎn)
0x9eifle當(dāng)棧頂int型數(shù)值小于等于0時跳轉(zhuǎn)
0x9fif_icmpeq比較棧頂兩int型數(shù)值大小, 當(dāng)結(jié)果等于0時跳轉(zhuǎn)
0xa0if_icmpne比較棧頂兩int型數(shù)值大小, 當(dāng)結(jié)果不等于0時跳轉(zhuǎn)
0xa1if_icmplt比較棧頂兩int型數(shù)值大小, 當(dāng)結(jié)果小于0時跳轉(zhuǎn)
0xa2if_icmpge比較棧頂兩int型數(shù)值大小, 當(dāng)結(jié)果大于等于0時跳轉(zhuǎn)
0xa3if_icmpgt比較棧頂兩int型數(shù)值大小, 當(dāng)結(jié)果大于0時跳轉(zhuǎn)
0xa4if_icmple比較棧頂兩int型數(shù)值大小, 當(dāng)結(jié)果小于等于0時跳轉(zhuǎn)
0xa5if_acmpeq比較棧頂兩引用型數(shù)值, 當(dāng)結(jié)果相等時跳轉(zhuǎn)
0xa6if_acmpne比較棧頂兩引用型數(shù)值, 當(dāng)結(jié)果不相等時跳轉(zhuǎn)
0xa7goto無條件跳轉(zhuǎn)
0xa8jsr跳轉(zhuǎn)至指定的16位offset位置, 并將jsr的下一條指令地址壓入棧頂
0xa9ret返回至本地變量指定的index的指令位置(一般與jsr或jsr_w聯(lián)合使用)
0xaatableswitch用于switch條件跳轉(zhuǎn), case值連續(xù)(可變長度指令)
0xablookupswitch用于switch條件跳轉(zhuǎn), case值不連續(xù)(可變長度指令)
0xacireturn從當(dāng)前方法返回int
0xadlreturn從當(dāng)前方法返回long
0xaefreturn從當(dāng)前方法返回float
0xafdreturn從當(dāng)前方法返回double
0xb0areturn從當(dāng)前方法返回對象引用
0xb1return從當(dāng)前方法返回void
0xb2getstatic獲取指定類的靜態(tài)域, 并將其壓入棧頂
0xb3putstatic為指定類的靜態(tài)域賦值
0xb4getfield獲取指定類的實例域, 并將其壓入棧頂
0xb5putfield為指定類的實例域賦值
0xb6invokevirtual調(diào)用實例方法
0xb7invokespecial調(diào)用超類構(gòu)建方法, 實例初始化方法, 私有方法
0xb8invokestatic調(diào)用靜態(tài)方法
0xb9invokeinterface調(diào)用接口方法
0xbainvokedynamic調(diào)用動態(tài)方法
0xbbnew創(chuàng)建一個對象, 并將其引用引用值壓入棧頂
0xbcnewarray創(chuàng)建一個指定的原始類型(如int, float, char等)的數(shù)組,
并將其引用值壓入棧頂
0xbdanewarray創(chuàng)建一個引用型(如類, 接口, 數(shù)組)的數(shù)組, 并將其引用值壓入棧頂
0xbearraylength獲取數(shù)組的長度值并壓入棧頂
0xbfathrow將棧頂?shù)漠惓伋?/td>
0xc0checkcast檢驗類型轉(zhuǎn)換, 檢驗未通過將拋出 ClassCastException
0xc1instanceof檢驗對象是否是指定類的實際, 如果是將1壓入棧頂, 否則將0壓入棧頂
0xc2monitorenter獲得對象的鎖, 用于同步方法或同步塊
0xc3monitorexit釋放對象的鎖, 用于同步方法或同步塊
0xc4wide擴展本地變量的寬度
0xc5multianewarray創(chuàng)建指定類型和指定維度的多維數(shù)組(執(zhí)行該指令時,
操作棧中必須包含各維度的長度值), 并將其引用壓入棧頂
0xc6ifnull為null時跳轉(zhuǎn)
0xc7ifnonnull不為null時跳轉(zhuǎn)
0xc8goto_w無條件跳轉(zhuǎn)(寬索引)
0xc9jsr_w跳轉(zhuǎn)至指定的32位offset位置, 并將jsr_w的下一條指令地址壓入棧頂

總結(jié)

以上是生活随笔為你收集整理的虚拟机字节码指令表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。