code: def destroys(self, i=0):
          
          regs = {'a', 'b', 'c', 'd', 'e', 'f', 'h', 'l', 'i', 'ixh', 'ixl', 'iyh', 'iyl', 'sp'}
          top = len(self)
          result = []
  
          for ii in range(i, top):
              for r in self.mem[ii].destroys:
                  if r in regs:
                      result.append(r)
                      regs.remove(r)
  
              if not regs:
                  break
  
          return result
docs: Returns a list of registers this block destroys
          By default checks from the beginning (i = 0).