示例#1
0
def bipush(value):
    if value == -1:
        return u1(0x2)  # iconst_m1
    elif value == 0:
        return u1(0x3)  # iconst_0
    elif value == 1:
        return u1(0x4)  # iconst_1
    elif value == 2:
        return u1(0x5)  # iconst_2
    else:
        return u1(0x10) + s1(value)
示例#2
0
def aload(idx):
    if idx == 0:
        return u1(0x2A)  # aload_0
    elif idx == 1:
        return u1(0x2B)  # aload_1
    elif idx == 2:
        return u1(0x2C)  # aload_2
    elif idx == 3:
        return u1(0x2D)  # aload_3
    else:
        return u1(0x19) + u1(idx)
示例#3
0
def goto_w(offset):
    return u1(0xC8) + s4(offset)
示例#4
0
def invokestatic(ref):
    return u1(0xB8) + u2(ref)
示例#5
0
def invokevirtual(method):
    return u1(0xB6) + u2(method)
def name_and_type(name_index, descriptor_index):
    return u1(id_NameAndType) \
           + u2(name_index) \
           + u2(descriptor_index)
def field_ref(class_index, name_and_type_index):
    return u1(id_Fieldref) \
           + u2(class_index) \
           + u2(name_and_type_index)
def class_ref(name_index):
    return u1(id_Class) \
           + u2(name_index)
示例#9
0
def i2l():
    return u1(0x85)
示例#10
0
def putstatic(ref):
    return u1(0xB3) + u2(ref)
示例#11
0
def putfield(ref):
    return u1(0xB5) + u2(ref)
示例#12
0
def imul():
    return u1(0x68)
示例#13
0
def iadd():
    return u1(0x60)
示例#14
0
def swap():
    return u1(0x5F)
示例#15
0
def voidreturn():
    return u1(0xB1)
示例#16
0
def ifeq(offset):
    return u1(0x99) + s2(offset)
示例#17
0
def nop():
    return u1(0)
示例#18
0
def getfield(ref):
    return u1(0xB4) + u2(ref)
示例#19
0
def lcmp():
    return u1(0x94)
示例#20
0
def i2c():
    return u1(0x92)
def method_ref(class_index, name_and_type_index):
    return u1(id_Methodref) \
           + u2(class_index) \
           + u2(name_and_type_index)
示例#22
0
def getstatic(field_index):
    return u1(0xB2) + u2(field_index)
def utf8(text):
    return u1(id_Utf8) \
           + u2(len(text)) \
           + str_to_byte(text)
示例#24
0
def aaload():
    return u1(0x32)
def string(utf8str):
    return u1(id_String) \
           + u2(utf8str)
示例#26
0
def ldc(const_index):
    return u1(0x12) + u1(const_index)