'Disassemble instructions nearby current PC or an address
Args:
- address: start address to disassemble around (Int)
- count: number of instructions to disassemble
Returns:
- text code (String)'

@memoized
def disassemble_around(self, address, count=8):

    count = min(count, 256)
    pc = address
    if (pc is None):
        return None
    if (not self.execute_redirect(('x/x    0x%x' % pc))):
        return None
    prev_code = self.prev_inst(pc, ((count // 2) - 1))
    if prev_code:
        start = prev_code[0][0]
    else:
        start = pc
    if (start == pc):
        count = (count // 2)
    code = self.execute_redirect(('x/%di    0x%x' % (count, start)))
    if (('0x%x' % pc) not in code):
        code = self.execute_redirect(('x/%di    0x%x' % ((count // 2), pc)))
    return code.rstrip()
