没有合适的资源?快使用搜索试试~ 我知道了~
Java字节码指令列表
5星 · 超过95%的资源 需积分: 50 127 下载量 19 浏览量
2011-05-29
00:05:10
上传
评论
收藏 152KB PDF 举报
温馨提示
试读
16页
Java字节码指令列表,列出了每条指令的操作码和操作数,和对栈的操作情况
资源推荐
资源详情
资源评论
From Wikipedia, the free encyclopedia
Main article: Java bytecode
This is a list of the instructions that make up the the Java bytecode, a hypothetical machine
language that is ultimately executed by the Java virtual machine. The Java bytecode is generated
by language compilers targeting the Java Platform. Most notably the Java programming
language.
Mnemonic
Opcode
(in hex)
Other bytes
Stack
[before]→[after]
Description
A
aaload 32
arrayref, index →
value
loads onto the stack a
reference from an array
aastore 53
arrayref, index,
value →
stores into a reference to
an array
aconst_null 01 → null
pushes a null reference
onto the stack
aload 19 index → objectref
loads a reference onto the
stack from a local variable
#index
aload_0 2a → objectref
loads a reference onto the
stack from local variable 0
aload_1 2b → objectref
loads a reference onto the
stack from local variable 1
aload_2 2c → objectref
loads a reference onto the
stack from local variable 2
aload_3 2d → objectref
loads a reference onto the
stack from local variable 3
anewarray bd
indexbyte1,
indexbyte2
count → arrayref
creates a new array of
references of length count
and component type
identified by the class
reference index
(indexbyte1 << 8 +
indexbyte2) in the
constant pool
areturn b0 objectref → [empty]
returns a reference from a
method
arraylength be arrayref → length
gets the length of an
array
astore 3a index objectref →
stores a reference into a
local variable #index
astore_0 4b objectref →
stores a reference into
local variable 0
astore_1 4c objectref →
stores a reference into
local variable 1
astore_2 4d objectref →
stores a reference into
local variable 2
astore_3 4e objectref →
stores a reference into
local variable 3
athrow bf
objectref →
[empty], objectref
throws an error or
exception (notice that the
rest of the stack is
cleared, leaving only a
reference to the
Throwable)
B
baload 33
arrayref, index →
value
loads a byte or Boolean
value from an array
bastore 54
arrayref, index,
value →
stores a byte or Boolean
value into an array
bipush 10 byte → value
pushes a byte onto the
stack as an integer value
C
caload 34
arrayref, index →
value
loads a char from an array
castore 55
arrayref, index,
value →
stores a char into an array
checkcast c0
indexbyte1,
indexbyte2
objectref →
objectref
checks whether an
objectref is of a certain
type, the class reference
of which is in the constant
pool at index (indexbyte1
<< 8 + indexbyte2)
D
d2f 90 value → result
converts a double to a
float
d2i 8e value → result
converts a double to an
int
d2l 8f value → result
converts a double to a
long
dadd 63
value1, value2 →
result
adds two doubles
daload 31
arrayref, index →
value
loads a double from an
array
dastore 52
arrayref, index,
value →
stores a double into an
array
dcmpg 98
value1, value2 →
result
compares two doubles
dcmpl 97
value1, value2 →
result
compares two doubles
dconst_0 0e → 0.0
pushes the constant 0.0
onto the stack
dconst_1 0f → 1.0
pushes the constant 1.0
onto the stack
ddiv 6f
value1, value2 →
result
divides two doubles
dload 18 index → value
loads a double value from
a local variable #index
dload_0 26 → value
loads a double from local
variable 0
dload_1 27 → value
loads a double from local
variable 1
dload_2 28 → value
loads a double from local
variable 2
dload_3 29 → value
loads a double from local
variable 3
dmul 6b
value1, value2 →
result
multiplies two doubles
dneg 77 value → result negates a double
drem 73
value1, value2 →
result
gets the remainder from a
division between two
doubles
dreturn af value → [empty]
returns a double from a
method
dstore 39 index value →
stores a double value into
a local variable #index
dstore_0 47 value →
stores a double into local
variable 0
dstore_1 48 value →
stores a double into local
variable 1
dstore_2 49 value →
stores a double into local
variable 2
dstore_3 4a value →
stores a double into local
variable 3
dsub 67
value1, value2 →
result
subtracts a double from
another
dup 59
value → value,
value
duplicates the value on
top of the stack
dup_x1 5a
value2, value1 →
value1, value2,
value1
inserts a copy of the top
value into the stack two
values from the top
dup_x2 5b
value3, value2,
value1 → value1,
value3, value2,
value1
inserts a copy of the top
value into the stack two (if
value2 is double or long it
takes up the entry of
value3, too) or three
values (if value2 is neither
double nor long) from the
top
dup2 5c
{value2, value1} →
{value2, value1},
{value2, value1}
duplicate top two stack
words (two values, if
value1 is not double nor
long; a single value, if
value1 is double or long)
dup2_x1 5d
value3, {value2,
value1} → {value2,
value1}, value3,
{value2, value1}
duplicate two words and
insert beneath third word
(see explanation above)
dup2_x2 5e
{value4, value3},
{value2, value1} →
{value2, value1},
{value4, value3},
{value2, value1}
duplicate two words and
insert beneath fourth word
F
f2d 8d value → result
converts a float to a
double
f2i 8b value → result converts a float to an int
f2l 8c value → result converts a float to a long
fadd 62
value1, value2 →
result
adds two floats
faload 30
arrayref, index →
value
loads a float from an array
fastore 51
arrayref, index,
value →
stores a float in an array
fcmpg 96
value1, value2 →
result
compares two floats
fcmpl 95
value1, value2 →
result
compares two floats
fconst_0 0b → 0.0f
pushes 0.0f on the stack
fconst_1 0c → 1.0f
pushes 1.0f on the stack
fconst_2 0d → 2.0f
pushes 2.0f on the stack
fdiv 6e
value1, value2 →
result
divides two floats
剩余15页未读,继续阅读
nj_dobetter
- 粉丝: 79
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页