大作业测试用例涉及指令

以Dark开头的测试用例是隐藏的,其它的是公开的(你在项目里应该已经看到了~)

DarkEasy...

DarkEasy部分的测试用例和公开测试用例一一对应,仅仅换了具体的数字,所以涉及的指令可以自己拿javap 查看

!!!更新:只换了数据,但是数据范围不一样了,所以有一条bipush变成了sipush!!!

DarkMediumInstruction

aconst_null
aload
aload_0
aload_1
aload_2
aload_3
areturn
astore
astore_1
astore_3
bipush
d2f
d2i
d2l
dadd
dcmpg
dcmpl
dconst_0
dconst_1
dload
dload_1
dload_2
dload_3
dreturn
dstore
dstore_2
dup
f2d
f2i
f2l
fadd
fcmpg
fcmpl
fconst_0
fconst_2
fload
fload_1
freturn
fstore
getfield
goto
i2b
i2c
i2d
i2l
i2s
iadd
iconst_0
iconst_1
iconst_2
iconst_3
iconst_4
iconst_5
iconst_m1
if_icmpeq
if_icmpge
if_icmpgt
if_icmple
if_icmplt
if_icmpne
ifeq
ifge
ifle
ifne
ifnonnull
ifnull
iinc
iload
iload_1
iload_2
iload_3
ineg
invokeinterface
invokespecial
invokestatic
invokevirtual
ireturn
ishl
istore
istore_1
istore_2
istore_3
l2d
l2f
l2i
ladd
lcmp
lconst_0
lconst_1
ldc
ldc2_w
lload
lload_3
lreturn
lstore
new
pop
putfield
return
sipush

DarkMediumMNodeTest

aconst_null
aload
aload_0
aload_1
astore
astore_1
bipush
dup
getfield
goto
iconst_0
iconst_1
iconst_2
iconst_3
iconst_4
iconst_5
if_icmpge
iinc
iload
iload_1
iload_2
iload_3
invokespecial
invokestatic
invokevirtual
ireturn
istore
istore_2
new
pop
putfield
return

DarkMediumTest4Arith

aload_0
aload_1
astore_1
bipush
dup
goto
iadd
iconst_0
idiv
if_icmpge
iinc
iload
iload_1
iload_2
iload_3
imul
invokespecial
invokestatic
invokevirtual
istore
isub
ixor
new
pop
return
sipush

DarkHardArray

aload_0
aload_1
aload_2
astore_1
astore_2
bipush
dup
iadd
iaload
iastore
iconst_0
iconst_1
iconst_2
iconst_3
iconst_4
iconst_5
invokespecial
invokestatic
invokevirtual
new
newarray
return

DarkHardMulArray

aaload
aastore
aload_0
aload_1
arraylength
astore_1
bipush
caload
castore
dup
getfield
iaload
iastore
iconst_0
iconst_1
iconst_2
iconst_3
iconst_4
iconst_5
invokespecial
invokestatic
isub
multianewarray
new
newarray
putfield
return

DarkHardObjectInst

aload
aload_0
aload_1
aload_2
astore
astore_1
astore_2
bipush
dup
getfield
getstatic
iconst_0
iconst_1
iconst_2
iconst_3
iconst_4
ifeq
iload_3
instanceof
invokespecial
invokestatic
istore_3
new
newarray
putfield
putstatic
return

medium & hard 涉及的所有指令(仅供参考,以上面的单独列表为准)

aaload
aastore
aconst_null
aload
aload_0
aload_1
aload_2
aload_3
areturn
arraylength
astore
astore_1
astore_2
astore_3
bipush
caload
castore
d2f
d2i
d2l
dadd
dcmpg
dcmpl
dconst_0
dconst_1
dload
dload_1
dload_2
dload_3
dreturn
dstore
dstore_2
dup
f2d
f2i
f2l
fadd
fcmpg
fcmpl
fconst_0
fconst_2
fload
fload_1
freturn
fstore
getfield
getstatic
goto
i2b
i2c
i2d
i2l
i2s
iadd
iaload
iastore
iconst_0
iconst_1
iconst_2
iconst_3
iconst_4
iconst_5
iconst_m1
idiv
if_icmpeq
if_icmpge
if_icmpgt
if_icmple
if_icmplt
if_icmpne
ifeq
ifge
ifle
ifne
ifnonnull
ifnull
iinc
iload
iload_1
iload_2
iload_3
imul
ineg
instanceof
invokeinterface
invokespecial
invokestatic
invokevirtual
ireturn
ishl
istore
istore_1
istore_2
istore_3
isub
ixor
l2d
l2f
l2i
ladd
lcmp
lconst_0
lconst_1
ldc
ldc2_w
lload
lload_3
lreturn
lstore
multianewarray
new
newarray
pop
putfield
putstatic
return
sipush