z80:Opcodes:LD

From Learn @ Cemetech
Revision as of 22:01, 5 February 2016 by Maintenance script (talk | contribs) (Initial automated import)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The LD instruction is used to put the value from one place into another place.

Syntax

   LD N,M

puts M into N.

Allowed instructions (across: M Down: N)

If x, it means allowed. If blank, it means not allowed.

A B C D E H L I R IXH IXL IYH IYL BC DE HL SP IX IY (BC) (DE) (HL) (IX+N) (IY+N) N NN (NN)
A x x x x x x x x x x x x x !! !! !! !! !! !! x x x x x x !! x
B x x x x x x x !! !! x x x x !! !! !! !! !! !! !! !! x x x x !! !!
C x x x x x x x !! !! x x x x !! !! !! !! !! !! !! !! x x x x !! !!
D x x x x x x x !! !! x x x x !! !! !! !! !! !! !! !! x x x x !! !!
E x x x x x x x !! !! x x x x !! !! !! !! !! !! !! !! x x x x !! !!
H x x x x x x x !! !! !! !! !! !! !! !! !! !! !! !! !! !! x x x x !! !!
L x x x x x x x !! !! !! !! !! !! !! !! !! !! !! !! !! !! x x x x !! !!
I x !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!
R x !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!
IXH x x x x x !! !! !! !! x x !! !! !! !! !! !! !! !! !! !! !! !! !! x !! !!
IXL x x x x x !! !! !! !! x x !! !! !! !! !! !! !! !! !! !! !! !! !! x !! !!
IYH x x x x x !! !! !! !! !! !! x x !! !! !! !! !! !! !! !! !! !! !! x !! !!
IYL x x x x x !! !! !! !! !! !! x x !! !! !! !! !! !! !! !! !! !! !! x !! !!
BC !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! x x
DE !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! x x
HL !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! x x
SP !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! x !! x x !! !! !! !! !! !! x x
IX !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! x x
IY !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! x x
(BC) x !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!
(DE) x !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!
(HL) x x x x x x x !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!
(IX+N) x x x x x x x !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!
(IY+N) x x x x x x x !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!
(NN) x !! !! !! !! !! !! !! !! !! !! !! !! x x x x x x !! !! !! !! !! !! !! !!

Effects

No flags are altered except in the cases of the I or R registers.

In those cases, C is preserved, H and N are reset, and alters Z and S. P/V is set if interrupts are enabled, reset otherwise.

Uses

Use to load numbers into operands. They can either be numbers used in the code (usually 8-bits), or labels (usually 16-bits).


   ld b,$05	;Counter
   
   ld hl,var	;Variable label
   ld a,(var)	;Write data to var


T-States

r denotes 8-bit register. rr represents a two byte register pair: BC, DE, HL, SP

r, r' 4
r,X 7
r,(hl) 7
r,(ix+X) 19
r,(iy+X) 19
a, (vc) 7
a, (de) 7
a, (XX) 13
(bc),a 7
(de),a 7
(XX),a 13
a, i 9
a, r 9
i, a 9
r, a 9
a, (BC) 7
(XX), a 13
rr,XX 10
ix, XX 14
iy, XX 14
hl, (XX) 20
ix, (XX) 20
iy, (XX) 20
(XX), hl 20
(XX), rr 20
(XX), ix 20
(XX), iy 20
sp, hl 6
sp, ix 10
sp, iy 10


See also

LDD,LDDR,LDI,LDIR

Source: http://www.zilog.com/appnotes_download.php?FromPage=DirectLink&dn=UM0080&ft=User%20Manual&f=YUhSMGNEb3ZMM2QzZHk1NmFXeHZaeTVqYjIwdlpHOWpjeTk2T0RBdmRXMHdNRGd3TG5Ca1pnPT0=