'Get previous instructions at an address
Args:
- address: address to get previous instruction (Int)
- count: number of instructions to read (Int)
Returns:
- list of tuple (address(Int), code(String))'

@memoized
def prev_inst(self, address, count=1):

    result = []
    backward = (64 + (16 * count))
    for i in range(backward):
        if (self.getpid() and (not self.is_address(((address - backward) + i)))):
            continue
        code = self.execute_redirect(('disassemble    %s,    %s' % (to_hex(((address - backward) + i)), to_hex((address + 1)))))
        if (code and (('%x' % address) in code)):
            lines = code.strip().splitlines()[1:(-1)]
            if ((len(lines) > count) and ('(bad)' not in '    '.join(lines))):
                for line in lines[((- count) - 1):(-1)]:
                    (addr, code) = line.split(':', 1)
                    addr = re.search('(0x[^    ]*)', addr).group(1)
                    result += [(to_int(addr), code)]
                return result
    return None
