JVM指令2
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 |
创建一个指定原始类型(如 int、float、char......)的数组,并将其引用值压入栈顶。 |
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用于在特定硬件中使用的语言后门。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk mendapatkan item menggunakan arahan dalam Terraria? 1. Apakah arahan untuk memberikan item dalam Terraria Dalam permainan Terraria, memberi arahan kepada item adalah fungsi yang sangat praktikal. Melalui arahan ini, pemain boleh terus mendapatkan barangan yang mereka perlukan tanpa perlu melawan raksasa atau teleport ke lokasi tertentu. Ini boleh menjimatkan masa dengan banyak, meningkatkan kecekapan permainan dan membolehkan pemain memberi lebih tumpuan kepada meneroka dan membina dunia. Secara keseluruhan, ciri ini menjadikan pengalaman permainan lebih lancar dan menyeronokkan. 2. Cara menggunakan Terraria untuk memberikan arahan item 1. Buka permainan dan masukkan antara muka permainan. 2. Tekan kekunci "Enter" pada papan kekunci untuk membuka tetingkap sembang. 3. Masukkan format arahan dalam tetingkap sembang: "/berikan [nama pemain][ID item][kuantiti item]".

Kami pengguna seharusnya dapat memahami kepelbagaian beberapa fungsi apabila menggunakan platform ini Kami tahu bahawa lirik beberapa lagu ditulis dengan sangat baik. Kadang-kadang kita mendengarnya beberapa kali dan merasakan maknanya sangat mendalam, jadi jika kita ingin memahami maksudnya, kita ingin menyalinnya secara langsung dan menggunakannya sebagai copywriting masih perlu Anda hanya perlu belajar bagaimana untuk menyalin lirik Saya percaya bahawa semua orang sudah biasa dengan operasi ini, tetapi ia memang agak sukar untuk beroperasi pada telefon bimbit Jadi untuk memberi anda pemahaman yang lebih baik, hari ini editor ada di sini untuk membantu anda. Penjelasan yang baik tentang beberapa pengalaman operasi di atas. ,

Artikel ini bertujuan untuk membantu pemula memulakan dengan cepat dengan Vue.js3 dan mencapai kesan penukaran tab yang mudah. Vue.js ialah rangka kerja JavaScript popular yang boleh digunakan untuk membina komponen boleh guna semula, mengurus keadaan aplikasi anda dengan mudah dan mengendalikan interaksi antara muka pengguna. Vue.js3 ialah versi terkini rangka kerja Berbanding dengan versi sebelumnya, ia telah mengalami perubahan besar, tetapi prinsip asas tidak berubah. Dalam artikel ini, kami akan menggunakan arahan Vue.js untuk melaksanakan kesan penukaran tab, dengan tujuan membiasakan pembaca dengan Vue.js

Dalam kekunci pintasan lapisan salin PS, kita boleh tahu bahawa jika anda ingin menyalin lapisan apabila menggunakan PS, anda boleh menggunakan kekunci pintasan [Ctrl+J] untuk menyalin pantas. Pengenalan kepada kekunci pintasan untuk menyalin lapisan ini boleh memberitahu anda kaedah operasi khusus Berikut ialah kandungan terperinci, jadi sila lihat. Jawapan kekunci pintasan lapisan salin PS: [Ctrl+J] Kaedah khusus: 1. Buka imej dalam PS dan pilih lapisan yang perlu disalin. 2. Tekan [Ctrl+J] pada papan kekunci pada masa yang sama untuk melengkapkan salinan lapisan. Kaedah penyalinan lain: 1. Selepas membuka imej, tahan lapisan dan gerakkan ikon [Lapisan Baharu] ke bawah. 2. Selepas beralih ke ikon, lepaskan. 3. Salinan lapisan selesai.

Projek ini direka untuk memudahkan pembangun memantau berbilang JVM hos jauh dengan lebih cepat Jika projek anda adalah Spring boot, ia adalah sangat mudah untuk disepadukan. Jika ia bukan but Spring, anda boleh cepat memulakan program but Spring dan memperkenalkannya sendiri pakej Jar sudah memadai

Apabila ramai pengguna menggunakan komputer, jika mereka menghadapi sesuatu yang perlu disalin dan ditampal, sangat menyusahkan untuk menyalin dengan tetikus Jadi bagaimana untuk menggunakan kekunci pintasan untuk salin dan tampal Salin dan Tampal Pintasan Cara menggunakan kekunci: 1. Kekunci salin: Ctrl+C, pilih teks atau imej untuk disalin dan tekan kekunci pintasan. 2. Kekunci tampal: Ctrl+V Hanya tekan terus kekunci pintasan di mana anda mahu tampal.

Dalam sistem Windows, kekunci pintasan untuk menyalin ialah Ctrl+C dalam sistem Apple, kekunci pintasan untuk menyalin ialah Command+C dalam sistem Linux, kekunci pintasan untuk menyalin ialah Ctrl+Shift+C; Mengetahui kekunci pintasan ini boleh meningkatkan kecekapan kerja pengguna dan memudahkan operasi penyalinan teks atau fail.

Kami sering menggunakan Excel untuk memproses berbilang data jadual Selepas menyalin dan menampal jadual yang ditetapkan, format asal kembali kepada lalai, dan kami perlu menetapkannya semula. Malah, terdapat cara untuk menyalin jadual dalam Excel dan mengekalkan format asal Editor akan menerangkan kaedah khusus di bawah. 1. Langkah operasi menyeret dan menyalin kekunci Ctrl: Gunakan kekunci pintasan [Ctrl+A] untuk memilih semua kandungan jadual, dan kemudian gerakkan kursor tetikus ke tepi jadual sehingga kursor bergerak muncul. Tekan dan tahan kekunci [Ctrl], dan kemudian seret jadual ke kedudukan yang dikehendaki untuk melengkapkan pergerakan. Perlu diingatkan bahawa kaedah ini hanya berfungsi pada satu lembaran kerja dan tidak boleh dialihkan antara lembaran kerja yang berbeza. 2. Langkah-langkah untuk menampal terpilih: Tekan kekunci pintasan [Ctrl+A] untuk memilih semua jadual, dan tekan
