Esempio n. 1
0
def w65c02_absolute(obj, a):
    adr = env.cst(a, 16)
    if obj.mnemonic in ("JMP", "JSR"):
        obj.operands = [adr]
        obj.type = type_control_flow
        obj.misc['ref'] = adr
    else:
        obj.operands = [env.mem(adr, 8)]
        obj.type = type_data_processing
Esempio n. 2
0
def w65c02_aix(obj, a):
    adr = env.cst(a, 16) + env.X_
    obj.operands = [env.mem(adr, 8)]
    obj.type = type_data_processing
Esempio n. 3
0
def w65c02_aiix(obj, a):
    adr = env.cst(a, 16) + env.X_
    obj.operands = [env.mem(adr, 16)]
    obj.type = type_control_flow
Esempio n. 4
0
def w65c02_zpiy(obj, a):
    adr = env.mem(env.cst(a, 16), 16) + env.Y_
    obj.operands = [env.mem(adr, 8)]
    obj.type = type_data_processing
Esempio n. 5
0
def w65c02_zpii(obj, a):
    off = env.cst(a, 16) + env.X_
    adr = env.mem(off, 8).zeroextend(16)
    obj.operands = [env.mem(adr, 8)]
    obj.type = type_data_processing
Esempio n. 6
0
def w65c02_bb(obj, a, b):
    offset = env.cst(a, 8).signextend(16)
    cond = env.cst(b, 8)
    obj.operands = [cond, offset]
    obj.misc["pc_ref"] = offset
    obj.type = type_control_flow
Esempio n. 7
0
def w65c02_pcr(obj, a):
    offset = env.cst(a, 8).signextend(16)
    obj.operands = [offset]
    obj.misc["pc_ref"] = offset
    obj.type = type_control_flow
Esempio n. 8
0
def w65c02_immediate(obj, c):
    obj.operands = [env.cst(c, 8)]
    obj.type = type_data_processing