'Return the memory objects overlapping with the provided slice.
:param start: the start address
:param end: the end address (non-inclusive)
:returns: tuples of (starting_addr, memory_object)'

def load_slice(self, state, start, end):

    raise NotImplementedError()
