JVM指令2

Jun 07, 2016 pm 03:14 PM
jvm 複製 指令

0x59 dup 复制 栈顶数并将复制压入栈顶。 0x5a dup_x1 复制 栈顶数并将两个复制压入栈顶。 0x5b dup_x2 复制 栈顶数并将三个 ( 或两个 ) 复制 压入栈顶。 0x5c dup2 复制 栈顶一个 (long 或 double 类型的 ) 或两个 ( 其它 ) 数 并将复制压入栈顶。 0x5d dup

0x59  dup复制栈顶数值并将复制值压入栈顶。

0x5a  dup_x1复制栈顶数值并将两个复制值压入栈顶。

0x5b  dup_x2复制栈顶数值并将三个(或两个)复制值压入栈顶。

0x5c  dup2复制栈顶一个(long double 类型的)或两个(其它)值并将复制值压入栈顶。

0x5d  dup2_x1 dup_x1 指令的双倍版

0x5e  dup2_x2  dup_x2 指令的双倍版

0x5f  swap栈最顶端的两个数值互换(值不能是 long double 类型的)

0x60  iadd栈顶两 int 型数值相加并将结果压入栈顶。

0x61  ladd栈顶两 long型数值相加并将结果压入栈顶。

0x62  fadd栈顶两 float型数值相加并将结果压入栈顶。

0x63  dadd栈顶两 double型数值相加并将结果压入栈顶。

0x64  isub栈顶两 int 型数值相减并将结果压入栈顶。

0x65

lsub

栈顶两 long 型数值相减并将结果压入栈顶。

0x66

fsub

栈顶两 float 型数值相减并将结果压入栈顶。

0x67

dsub

栈顶两 double 型数值相减并将结果压入栈顶。

0x68

imul

栈顶两 int 型数值相乘并将结果压入栈顶。。

0x69

lmul

栈顶两 long 型数值相乘并将结果压入栈顶。

0x6a

fmul

栈顶两 float 型数值相乘并将结果压入栈顶。

0x6b

dmul

栈顶两 double 型数值相乘并将结果压入栈顶。

0x6c

idiv

栈顶两 int 型数值相除并将结果压入栈顶。

0x6d

ldiv

栈顶两 long 型数值相除并将结果压入栈顶。

0x6e

fdiv

栈顶两 float 型数值相除并将结果压入栈顶。

0x6f

ddiv

栈顶两 double 型数值相除并将结果压入栈顶。

0x70

irem

栈顶两 int 型数值作取模运算并将结果压入栈顶。

0x71

lrem

栈顶两 long 型数值作取模运算并将结果压入栈顶。

0x72

frem

栈顶两 float 型数值作取模运算并将结果压入栈顶。

0x73

drem

栈顶两 double 型数值作取模运算并将结果压入栈顶。

0x74

ineg

栈顶 int 型数值取负并将结果压入栈顶。

0x75

lneg

栈顶 long 型数值取负并将结果压入栈顶。

0x76

fneg

栈顶 float 型数值取负并将结果压入栈顶。

0x77

dneg

栈顶 double 型数值取负并将结果压入栈顶。

0x78

ishl

int 型数值左移位指定位数并将结果压入栈顶。

0x79

lshl

long 型数值左移位指定位数并将结果压入栈顶。

0x7a

ishr

int 型数值右(有符号)移位指定位数并将结果压入栈顶。

0x7b

lshr

long 型数值右(有符号)移位指定位数并将结果压入栈顶。

0x7c

iushr

int 型数值右(无符号)移位指定位数并将结果压入栈顶。

0x7d

lushr

long 型数值右(无符号)移位指定位数并将结果压入栈顶。

0x7e

iand

栈顶两 int 型数值作按位与并将结果压入栈顶。

0x7f

land

栈顶两 long 型数值作按位与并将结果压入栈顶。

0x80

ior

栈顶两 int 型数值作按位或并将结果压入栈顶。


0x81

lor

栈顶两 long 型数值作按位或并将结果压入栈顶。

0x82

ixor

栈顶两 int 型数值作按位异或并将结果压入栈顶。

0x83

lxor

栈顶两 long 型数值作按位异或并将结果压入栈顶。

0x84

iinc

将指定 int 变量增加指定值。

0x85

i2l

栈顶 int 型数值强制转换成 long型数值并将结果压入栈顶。

0x86

i2f

栈顶 int 型数值强制转换成 float型数值并将结果压入栈顶。

0x87

i2d

栈顶 int 型数值强制转换成 double型数值并将结果压入栈顶。

0x88

l2i

栈顶 long 型数值强制转换成 int型数值并将结果压入栈顶。

0x89

l2f

栈顶 long 型数值强制转换成 float型数值并将结果压入栈顶。

0x8a

l2d

栈顶 long 型数值强制转换成 double型数值并将结果压入栈顶。

0x8b

f2i

栈顶 float 型数值强制转换成 int型数值并将结果压入栈顶。

0x8c

f2l

栈顶 float 型数值强制转换成 long型数值并将结果压入栈顶。

0x8d

f2d

栈顶 float 型数值强制转换成 double型数值并将结果压入栈顶。

0x8e

d2i

栈顶 double 型数值强制转换成 int型数值并将结果压入栈顶。

0x8f

d2l

栈顶 double 型数值强制转换成 long型数值并将结果压入栈顶。

0x90

d2f

栈顶 double 型数值强制转换成 float型数值并将结果压入栈顶。

0x91

i2b

栈顶 int 型数值强制转换成 byte型数值并将结果压入栈顶。

0x92

i2c

栈顶 int 型数值强制转换成 char型数值并将结果压入栈顶。

0x93

i2s

栈顶 int 型数值强制转换成 short型数值并将结果压入栈顶。

0x94

lcmp

较栈顶两 long 型数值大小,并将结果(1,0,-1)压入栈顶

0x95

fcmpl

较栈顶两 float 型数值大小,并将结果(1,0,-1)压入栈顶;当其中一个数值为“NaN”,-1压入栈顶。

0x96

fcmpg

较栈顶两 float 型数值大小,并将结果(1,0,-1)压入栈顶;当其中一个数值为“NaN”, 1压入栈顶。

0x97

dcmpl

较栈顶两 double 型数值大小,并将结果(1,0,-1)压入栈顶;当其中一个数值为“NaN”,-1压入栈顶。

0x98

dcmpg

较栈顶两 double 型数值大小,并将结果(1,0,-1)压入栈顶;当其中一个数值为“NaN”, 1压入栈顶。

0x99

ifeq

栈顶 int 型数值等于 0时跳转。

0x9a

ifne

栈顶 int 型数值不等于 0时跳转。

0x9b

iflt

栈顶 int 型数值小于 0时跳转。

0x9c

ifge

栈顶 int 型数值大于等于 0时跳转。

0x9d

ifgt

栈顶 int 型数值大于 0时跳转。

0x9e

ifle

栈顶 int 型数值小于等于 0时跳转。

0x9f

if_icmpeq

较栈顶两 int 型数值大小,结果等于 0时跳转。

0xa0

if_icmpne

较栈顶两 int 型数值大小,结果不等于 0时跳转。

0xa1

if_icmplt

较栈顶两 int 型数值大小,结果小于 0时跳转。

0xa2

if_icmpge

较栈顶两 int 型数值大小,结果大于等于 0时跳转。

0xa3

if_icmpgt

较栈顶两 int 型数值大小,结果大于 0时跳转

0xa4

if_icmple

较栈顶两 int 型数值大小,结果小于等于 0时跳转。

0xa5

if_acmpeq

较栈顶两引用型数值,结果相等时跳转。

0xa6

if_acmpne

较栈顶两引用型数值,结果不相等时跳转。

0xa7

goto

无条件跳转。

0xa8

jsr

转至指定 16 offset 位置,并将 jsr 下一条指令地址压入栈顶。

0xa9

ret

返回至局部变量指定的 index 的指令位置(一般与 jsr,jsr_w联合使用)

0xaa

tableswitch

用于 switch 条件跳,case值连续(变长度指令)

0xab

lookupswitch

用于 switch 条件跳,case值不连续(变长度指令)

0xac

ireturn

从当前方法返回 int

0xad

lreturn

从当前方法返回 long

0xae

freturn

从当前方法返回 float

0xaf

dreturn

从当前方法返回 double

0xb0

areturn

从当前方法返回对象引用。

0xb1

return

从当前方法返回 void

0xb2

getstatic

获取指定类的静态域,并将其值压入栈顶。

0xb3

putstatic

为指定的类的静态域赋值。

0xb4

getfield

获取指定类的实例域,并将其值压入栈顶。

0xb5

putfield

为指定的类的实例域赋值。

0xb6

invokevirtual

调用实例方法。

0xb7

invokespecial

调用超类构造方法,实例初始化方法,私有方法。

0xb8

invokestatic

调用静态方法。

0xb9

invokeinterfac

e

调用接口方法。

0xba

invokedynamic

调用动态链接方法1

0xbb

new

创建一个对象,并将其引用值压入栈顶。

0xbc

newarray

创建一个指定原始类型( intfloatchar......)的数,并将其引用值压入栈顶。

0xbd

anewarray

创建一个引用型(如类,接口,)的数,并将其引用值压

栈顶。

0xbe

arraylength

获得数组的长度值并压入栈顶。

0xbf

athrow

栈顶的异常抛出。

0xc0

checkcast

检验类型转换,检验过将抛出 ClassCastException

0xc1   instanceof  检验对象是否是指定的类的实例,如果是将 1 压入栈顶,则将0 压入栈顶。

0xc2  monitorenter获得对象的 monitor,用于同步方法或同步块。

0xc3  monitorexit释放对象的 monitor,用于同步方法或同步块。

0xc4  wide扩展访问局部变量表的索引宽度。

0xc5  multianewarray创建指定类型和指定维度的多维数组(执行该指令时,操作栈中必须包维度的长度值),并将其引用值压入栈顶。

0xc6  ifnull null 时跳转。

0xc7  ifnonnull null 时跳转。

0xc8  goto_w无条件跳(宽索引)

0xc9  jsr_w跳转至指定 32 位地址偏移量位置,并将 jsr_w 下一条指令地址压入栈顶。

保留指令

0xca  breakpoint调试时的断点标志。

0xfe  impdep1用于在特定硬件中使用的语言后门。

0xff  impdep1用于在特定硬件中使用的语言后门。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1421
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
泰拉瑞亞怎麼用指示取得物品? -泰拉瑞亞怎麼收藏物品? 泰拉瑞亞怎麼用指示取得物品? -泰拉瑞亞怎麼收藏物品? Mar 19, 2024 am 08:13 AM

泰拉瑞亞怎麼用指示取得物品?一、什麼是泰拉瑞亞給予物品指令在泰拉瑞亞遊戲中,給予物品指令是一項非常實用的功能。透過這個指令,玩家可以直接取得需要的物品,而不必費力地去打怪或傳送到某個地點。這樣可以大大節省時間,提高遊戲的效率,讓玩家更專注於探索和建立世界。總的來說,這個功能讓遊戲體驗變得更加流暢和愉快。二、如何使用泰拉瑞亞給予物品指令1.打開遊戲並進入遊戲介面。 2.按下鍵盤上的「Enter」鍵,開啟聊天視窗。 3.在聊天視窗中輸入指令的格式:「/give[玩家名稱][物品ID][物品數量]」。

qq音樂歌詞怎麼複製 歌詞複製的方法 qq音樂歌詞怎麼複製 歌詞複製的方法 Mar 12, 2024 pm 08:22 PM

  我們用戶們在使用這款平台的時候應該都能夠了解到上面對於一些功能的多樣性,我們知道一些歌曲的歌詞都寫的非常的不錯。有時候甚至都會多聽幾遍,覺得其中的含義都是非常深刻的,所以我們想要去了解其中的勝意,就想要直接的複製下來當文案來使用,不過對於要使用的話,還是要學會如何去複製歌詞才可以,這些操作方面我相信大家們應該都並不模式,但是在手機上面操作確實是有點難度,所以為了能夠讓大家們更好的了解的話,今日小編就來為你們好好的講解上面的一些操作體驗,如果你們也喜歡的話,就和小編一起來看看吧,不要錯過了。 

PS複製圖層快速鍵 PS複製圖層快速鍵 Feb 23, 2024 pm 02:34 PM

在PS複製圖層快速鍵中,我們可以知道使用PS的時候如果想要進行複製圖層的操作,可以使用到快捷鍵【Ctrl+J】進行快速複製。這篇複製圖層快捷鍵的介紹就能夠告訴大家具體的操作方法,以下就是詳細的內容,趕快看看吧。 PS複製圖層快速鍵答:【Ctrl+J】具體方法:1、在ps中開啟影像,選取需要複製的圖層。 2、鍵盤同時按下【Ctrl+J】,即可完成圖層的複製。其他複製方式:1.開啟影像後,按住圖層,向下放【新建圖層】圖示移動。 2.移動到該圖示後,鬆手。 3、即可完成圖層複製。

Vue 中如何實現拖曳元素的複製和移動? Vue 中如何實現拖曳元素的複製和移動? Jun 25, 2023 am 08:35 AM

Vue是一款流行的JavaScript框架,它提供了方便的拖曳功能,讓我們可以輕易地實現元素的複製和移動。下面,我們就來看看如何在Vue中實現拖曳元素的複製和移動。一、拖曳元素的基本實作在Vue中實現拖曳元素的複製與移動,首先需要實現元素的基本拖曳功能。具體實作方法如下:在範本中加入需要拖曳的元素:<divclass="drag-elem

如何備份CMS織夢資料庫檔案? 如何備份CMS織夢資料庫檔案? Mar 13, 2024 pm 06:09 PM

如何備份CMS織夢資料庫檔案?在使用CMS織夢建站的過程中,保障資料庫檔案的安全性是非常重要的,以防止資料遺失或損壞。備份資料庫檔案是一項必不可少的操作,以下將介紹如何備份CMS織夢資料庫檔案並附上具體程式碼範例。一、使用phpMyAdmin進行備份phpMyAdmin是常用的資料庫管理工具,透過它可以方便地對資料庫進行備份作業。以下是使用phpMyAdm

excel複製表格保留原格式怎麼操作? excel複製表格保留原格式怎麼操作? Mar 21, 2024 am 10:26 AM

我們常常會用Excel處理多個表格數據,而設定好的表格經過複製貼上後,原有的格式又恢復預設了,還得需要我們重新設定。其實有方法可以讓Excel複製表格保留原格式的,下面小編就跟大家講解下具體的方法。一、Ctrl鍵拖曳複製操作步驟:使用快速鍵【Ctrl+A】全選表格內容後,將滑鼠遊標移至表格邊緣直到出現移動遊標。按住【Ctrl】鍵,接著拖曳表格到所需位置即可完成移動。需要注意的是,這種方法只適用於單一工作表,無法在不同工作表之間進行移動。二、選擇性貼上步驟:按【Ctrl+A】快速鍵全選中表格,按

複製快捷鍵ctrl加什麼 複製快捷鍵ctrl加什麼 Mar 15, 2024 am 09:57 AM

在 Windows 系統中,複製的快速鍵是 Ctrl+C;在蘋果系統中,複製的快速鍵是 Command+C;在 Linux 系統中,複製的快速鍵是 Ctrl+Shift+C。了解這些快捷鍵可以提高使用者的工作效率,方便地進行文字或檔案複製操作。

學習使用複製貼上的快捷鍵 學習使用複製貼上的快捷鍵 Jan 13, 2024 pm 12:27 PM

很多的使用者在使用電腦的時候,如果遇到一些需要複製貼上的東西時,用滑鼠複製非常麻煩,那麼複製貼上的快捷鍵需要如何使用呢,快來看看詳細的教程吧~複製貼上快捷鍵怎麼用:1、複製鍵:Ctrl+C,選擇需要複製的文字或圖片,按下快速鍵。 2.貼上鍵:Ctrl+V,在需要貼上的位置上,直接按下快速鍵就行了。

See all articles