code: def chunks(self, size=32, alignment=1):
          
  
          if (size % alignment) != 0:
              raise Error(
                  'size {} is not a multiple of alignment {}'.format(
                      size,
                      alignment))
  
          for segment in self:
              for chunk in segment.chunks(size, alignment):
                  yield chunk
docs: Iterate over all segments and return chunks of the data aligned as
          given by `alignment`. `size` must be a multiple of
          `alignment`. Each chunk is returned as a named two-tuple of
          its address and data.