Ejemplo n.º 1
0
Archivo: asm.py Proyecto: x86Labs/amoco
def i_BFC(i, fmap):
    cond, dest, lsb, size = __pre(i, fmap)
    src = fmap(dest)
    result = composer([src[0:lsb], cst(0, size), src[lsb + size:src.size]])
    fmap[dest] = tst(cond, result, fmap(dest))
    if dest is pc:
        raise InstructionError(i)
Ejemplo n.º 2
0
def i_BFI(i,fmap):
    cond,dest,src,lsb,size = __pre(i,fmap)
    src = fmap(src)
    result = composer([dest[0:lsb],src[lsb,lsb+size],dest[lsb+size:dest.size]])
    fmap[dest] = stst(cond,result,fmap(dest))
    if dest is pc:
        raise InstructionError(i)
Ejemplo n.º 3
0
Archivo: asm.py Proyecto: x86Labs/amoco
def __check_state(i, fmap):
    address = fmap(pc)
    if address.bit(0) == 1:
        internals['isetstate'] = 1
    elif address.bit(1) == 0:
        internals['isetstate'] = 0
    else:
        if address._is_cst:
            raise InstructionError(i)
        else:
            logger.verbose(
                'impossible to check isetstate (ARM/Thumb) until pc is cst')
Ejemplo n.º 4
0
Archivo: asm.py Proyecto: x86Labs/amoco
def i_SMC(i, fmap):
    raise InstructionError(i)