code: def result(i):
      
      ins = inst(i)
      op = oper(i)
  
      if ins in ('or', 'and') and op == ['a']:
          return ['f']
  
      if ins in {'xor', 'or', 'and', 'neg', 'cpl', 'daa', 'rld', 'rrd', 'rra', 'rla', 'rrca', 'rlca'}:
          return ['a', 'f']
  
      if ins in {'bit', 'cp', 'scf', 'ccf'}:
          return ['f']
  
      if ins in {'sub', 'add', 'sbc', 'adc'}:
          if len(op) == 1:
              return ['a', 'f']
          else:
              return single_registers(op[0]) + ['f']
  
      if ins == 'djnz':
          return ['b', 'f']
  
      if ins in {'ldir', 'ldi', 'lddr', 'ldd'}:
          return ['f', 'b', 'c', 'd', 'e', 'h', 'l']
  
      if ins in {'cpi', 'cpir', 'cpd', 'cpdr'}:
          return ['f', 'b', 'c', 'h', 'l']
  
      if ins in ('pop', 'ld'):
          return single_registers(op[0])
  
      if ins in {'inc', 'dec', 'sbc', 'rr', 'rl', 'rrc', 'rlc'}:
          return ['f'] + single_registers(op[0])
  
      if ins in ('set', 'res'):
          return single_registers(op[1])
  
      return []
docs: Returns which 8-bit registers are used by an asm
      instruction to return a result.