code: function adc (cpu, n) {
      const cy = cpu.f >> 4 & 1;
      const r = cpu.a + n + cy;
  
      cpu.f = 0;
      if ((r & 0xff) == 0) cpu.f |= FLAG_Z;
      if (((cpu.a ^ n ^ r) & 0x10) != 0) cpu.f |= FLAG_H;
      if ((r & 0x100) != 0) cpu.f |= FLAG_C;
  
      return r;
  }
docs: ADC A,n
  
  Description:
  Add n + Carry flag to A.
  
  Use with:
  n = A, B, C, D, E, H, L, (HL), #
  
  Flags affected:
  Z - Set if result is zero.
  N - Reset.
  H - Set if carry from bit 3.
  C - Set if carry from bit 7.
  
  Opcodes:
  Instruction    Parameters    Opcode    Cycles
  ADC            A,A           8F        4
  ADC            A,B           88        4
  ADC            A,C           89        4
  ADC            A,D           8A        4
  ADC            A,E           8B        4
  ADC            A,H           8C        4
  ADC            A,L           8D        4
  ADC            A,(HL)        8E        8
  ADC            A,#           CE        8