add

Adds a value to A, or a register pair to HL, IX or IY.

SZHP/VNC ●●●●0●
  • ● set from the result
  • 0 always 0

The rows that do otherwise show their own flags.

Forms

  • Adds r to A.

  • add a, 1 byte · 7 cycles

    Adds (HL) to A.

  • add a, 2 bytes · 7 cycles

    Adds nn to A.

  • Adds the value pointed to by IX plus dd to A.

  • The value of rr is added to HL.

  • The value of rr is added to IX.

  • The value of IX is added to IX.

Pseudo-instructions

Other spellings the assembler accepts; each form shows the instruction it becomes.

  • Adds r to A.

  • Adds (HL) to A.

  • Adds nn to A.

  • Adds the value pointed to by IX plus dd to A.

Undocumented 1 row

Left out of Zilog's manual, but the Z80 runs them, and so does this emulator.

  • Adds ixh/l to A.

Pseudo-instructions · Undocumented 1 row

Other spellings the assembler accepts; each form shows the instruction it becomes. Left out of Zilog's manual, but the Z80 runs them, and so does this emulator.

  • Adds ixh/l to A.

Operands

r
An 8-bit register: a, b, c, d, e, h or l.
(hl)
The byte in memory at the address stored in hl. More
nn
An 8-bit immediate value, 0 to 255 or -128 to 127, written as a number, character constant or symbol. More
(ix+dd)
The byte in memory at ix + dd, where dd is a signed displacement from -128 to 127, for example (ix+5) or (ix-3). (iy+dd) works the same way. More
rr
A register pair: bc, de, hl or sp.
ix
The ix index register. You can also use iy, with the same instruction size and timing. More
ixh/l
The high or low byte of ix: ixh or ixl. For iy, use iyh or iyl. More
        .org 0x8000
        ld a, 5
        ld hl, 0x9000
        ld bc, 0x0234
        add hl, bc
        halt