Операции двухбайтовой пересылки данных
LD rr,nn
---T--T----¬ ----------¬ ----------¬
¦00¦rr¦0001¦ ¦ n ¦ ¦ n ¦
L--+--+----- L---------- L----------
LD IX,nn
---------¬ ---------¬ ----------¬ ----------¬
¦11011101¦ ¦00100001¦ ¦ n ¦ ¦ n ¦
L--------- L--------- L---------- L----------
LD IY,nn
---------¬ ---------¬ ----------¬ ----------¬
¦11111101¦ ¦00100001¦ ¦ n ¦ ¦ n ¦
L--------- L--------- L---------- L----------
LD HL,(aa)
---------¬ ----------¬ ----------¬
¦00101010¦ ¦ a ¦ ¦ a ¦
L--------- L---------- L----------
LD rr,(aa)
---------¬ ---T--T----¬ ----------¬ ----------¬
¦11101101¦ ¦01¦rr¦1011¦ ¦ a ¦ ¦ a ¦
L--------- L--+--+----- L---------- L----------
LD IX,(aa)
---------¬ ---------¬ ----------¬ ----------¬
¦11011101¦ ¦00101010¦ ¦ a ¦ ¦ a ¦
L--------- L--------- L---------- L----------
LD IY,(aa)
---------¬ ---------¬ ----------¬ ----------¬
¦11111101¦ ¦00101010¦ ¦ a ¦ ¦ a ¦
L--------- L--------- L---------- L----------
LD (aa),HL
---------¬ ----------¬ ----------¬
¦00100010¦ ¦ a ¦ ¦ a ¦
L--------- L---------- L----------
LD (aa),rr
---------¬ ---T--T----¬ ----------¬ ----------¬
¦11101101¦ ¦01¦rr¦0011¦ ¦ a ¦ ¦ a ¦
L--------- L--+--+----- L---------- L----------
LD (aa),IX
---------¬ ---------¬ ----------¬ ----------¬
¦11011101¦ ¦00100010¦ ¦ a ¦ ¦ a ¦
L--------- L--------- L---------- L----------
LD (aa),IY
---------¬ ---------¬ ----------¬ ----------¬
¦11111101¦ ¦00100010¦ ¦ a ¦ ¦ a ¦
L--------- L--------- L---------- L----------
LD SP,HL LD SP,IX LD SP,IY
---------¬ ---------¬ ---------¬ ---------¬ ---------¬
¦11111001¦ ¦11011101¦ ¦11111001¦ ¦11111101¦ ¦11111001¦
L--------- L--------- L--------- L--------- L---------
PUSH rr PUSH IX PUSH IY
---T--T----¬ ---------¬ ---------¬ ---------¬ ---------¬
¦11¦rr¦0101¦ ¦11011101¦ ¦11100101¦ ¦11111101¦ ¦11100101¦
L--+--+----- L--------- L--------- L--------- L---------
POP rr POP IX POP IY
---T--T----¬ ---------¬ ---------¬ ---------¬ ---------¬
¦11¦rr¦0001¦ ¦11011101¦ ¦11100001¦ ¦11111101¦ ¦11100001¦
L--+--+----- L--------- L--------- L--------- L---------
Все инструкции этой группы пересылают 16-разрядную величину в или из двухбайтового регистра или регистровой пары. Обеспечивается загрузка регистра или регистровой пары непосредственным значением или содержимым двухбайтовой области памяти (байты операнда хранятся в порядке “младший–старший”), а также запись содержимого регистра или регистровой пары в двухбайтовую область памяти. Имеются также инструкции, пересылающие содержимое регистровой пары HL или регистров IX и IY в регистр указателя стека SP.
В инструкциях LD rr,nn, LD rr,(aa) и LD (aa),rr используются определяемые с помощью регистровой адресации регистровые пары BC, DE, HL или регистр SP. В других инструкциях с мнемоникой LD применяется неявная адресация используемых регистров или регистровых пар.
Заметим, что для команд LD HL,(aa) и LD (aa),HL имеются по два возможных формата команды: трёх- и четырёхбайтовый. Транслятор языка ассемблера всегда сгенерирует более короткий трёхбайтовый вариант; при необходимости четырёхбайтовый вариант в программе можно построить вручную. Наличие двух форматов для по существу одной и той же инструкции объясняется тем, что трёхбайтовый формат (оперирующий только с регистровой парой HL) присутствовал в системе команд микропроцессора Intel 8080, а четырёхбайтовый формат (оперирующий с регистром SP и регистровыми парами BC, DE и HL) был введён в микропроцессоре Zilog Z80.
Инструкции PUSH и POP обеспечивают соответственно занесение содержимого регистровой пары в стек и загрузки его оттуда. Адрес вершины стека находится в регистре SP. При записи байта в стек содержимое SP уменьшается на единицу, после чего производится запись; при выборке байта из стека сначала читается содержимое байта по адресу, находящемуся в SP, а затем значение SP увеличивается на единицу.Поскольку микропроцессор Z80 всегда записывает или извлекает из стека по два байта информации, в результате выполнения любой операции со стеком содержимое SP увеличивается или уменьшается на 2.
Инструкции PUSH и POP используют регистровую адресацию, чтобы определить регистровую пару, которая участвует в операции. Помимо “традиционных” регистровых пар BC, DE и HL, в операции может участвовать регистровая пара AF. Старшим её байтом является содержимое регистра-аккумулятора, младшим – содержимое регистра флагов F.
Все инструкции этой группы, за исключением POP AF, не изменяют состояние флажков. Команда POP AF полностью загружает содержимое регистра флагов из стека.