Пример #1
0
def decode_movff(obj,fd,fs):
    if fs>>8==0xf: src = env.getreg(0,fs&0xff)
    else: src = env.mem(env.cst(fs,12),8)
    if fd>>8==0xf: dst = env.getreg(0,fd&0xff)
    else: dst = env.mem(env.cst(fd,12),8)
    if dst in (env.pcl, env.tosu, env.tosh, env.tosl):
        raise InstructionError(obj)
    obj.src = check_virtual(obj,src)
    obj.dst = check_virtual(obj,dst)
    obj.operands = [src,dst]
    obj.type = type_data_processing
Пример #2
0
def byte_oriented(obj, d, a, f):
    src = env.getreg(a, f)
    obj.d = d
    obj.a = a
    obj.src = check_virtual(obj, src)
    obj.dst = env.wreg if d == 0 else obj.src
    obj.operands = [src]
    obj.type = type_control_flow
Пример #3
0
def bit_oriented(obj, b, a, f):
    dst = env.getreg(a, f)
    obj.dst = check_virtual(obj, dst)
    obj.a = a
    obj.b = b
    obj.operands = [dst, b]