code: def single_registers(op):
      
      result = set()
      if isinstance(op, str):
          op = [op]
  
      for x in op:
          if is_8bit_register(x):
              result = result.union([x])
          elif x == 'sp':
              result.add(x)
          elif x == 'af':
              result = result.union(['a', 'f'])
          elif x == "af'":
              result = result.union(["a'", "f'"])
          elif is_16bit_register(x):  # Must be a 16bit reg or we have an internal error!
              result = result.union([LO16(x), HI16(x)])
  
      return list(result)
docs: Given a list of registers like ['a', 'bc', 'h', 'hl'] returns
      a set of single registers: ['a', 'b', 'c', 'h', 'l'].
      Non register parameters, like numbers will be ignored.