СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА Z-80.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Команды и данные.

Команды поделены на 18 групп, каждая из которых состоит из тех команд, которые сильно похожи друг на друга. Существует шесть классов данных, которые могут следовать за командой.

1.0днобайтовая константа (+DD).

Это число А в диапазоне 00-FFh,(0-65535d). Те команды, которые требуют за собой однобайтовую константу, имеют мнемоническую приставку +DD. Например: LD HL,+DDDD.

2. Двухбайтовая константа (+DDDD).

Это число А в диапазоне 0000-FFFFh (0-65535d).Те команды, которые требуют за собой двухбайтовую константу, имеют мнемоническую приставку +DDDD. Например: LD HL,+DEDD.

3. Двухбайтовый адрес (ADDV).

Это число А в диапазоне 0000-FFFFh (0-65535d),то есть число, которое используется как адрес памяти. Те команды, которые требуют за собой двухбайтовый адрес, имеют приставку ADDV, например: JP ADDV.

4. Однобайтовая константа смещения(e).

Это число А в диапазоне 00-FFh(-128+127d).Число вегда представлено в дополнительном коде.Те команды,которые требуют за собой однобайтовую константу,имеют мнемоническую приставку e.Наприме:JP e.

5. Однобайтовая индуксирующая константа смещения (+D).

Это число А в диапазоне 00-FFh, (-128 +127d) представлено дополнительной арифметике. Те команды, которые требуют за собой однобайтовую индексирующую константу смещения, имеют мнемоническую приставку +D. Например: LD A,(JX+D)

6 Однобайтовая индексирующая константа смещения и однобайтовая константа (+D,+DD).

Это два числа в диапазоне 00-FFh, первое из которых рассматривается как десятичное -128+127,а второе - как десятичное 0-255. Команды, требующие два байта данных, сопровождаются мнемониками D и +DD.Например:LD (JX+D),+DD.

ГРУППА КОМАНД.

Существует много путей для разделения на группы сотен различных команд. Метод ,выбранный, здесь, разделяет команды на 18 функциональных групп.

Группа 1. Команда “нет операции”

 Мнемоника                16-ный код  

      NOP                                   00

Выполнение команды требует 1,14 мкс. Ни один из регистров или флагов не изменяется. Команда NOP используется программистом для организации задержек, но чаше для удаления ненужных команд из программы.

Группа 2. Команды загрузки регистра константами.

    Мнемоника                16-ный код     

    LD A,+DD                    3EDD

    LD H,+DD                    26DD

    LD L,+DD                     2EDD

    LD B,+DD                    06DD

    LD C,+DD                    0EDD

    LD D,+DD                   16DD

    LD E,+DD                   lEDD

Каждя из этих команд требует два байта памяти: один для кода операции, второй для константы. Команды записывают в регистр ответствующие значения, старые значения регистра пропадают.

Сведущие команды выполняют загрузку пары регистров двухбайтовыми константами.

    Мнемоника                16-ный код     

    LD HL,+DDDD             21 DD DD

    LD BC,+DDDD             01 DD DD

    LD DE,+DDDD             11 DD DD

    LD IX,+DDDD               DD 21 DD DD 

    LD IY,+DDDD               FD 21 DD DD

    LD SP,+DDDD             31 DD DD

Строка команды требует 3 или 4 байта в памяти. Код операции занимает 1 или 2 байта ,и 2 байта занимает константа. Первый байт константы загружается в младший регистровой пары т.е. L,C,E,X,Y,P, а второй байт в старший регистр, т.е. H,B,D,l,S. Эти команды записывают в регистровые пары данные, которые часто рассматриваются программистом как двухбайтовый адрес, но могут быть также и двухбайтовым числовым значением и двумя отдельными однобайтовыми числовыми значениями.

Команды этой группы не изменяют флагов.

Группа 3. Команды копирования регистров и обмена. Существует 59 команд, которые выполняют копирование регистров и регистровых пар .Эти команды можно разделить на 4 подгруппы.

Подгруппа А. Команды копирования типа регистр-регистр. Следующая таблица дает коды операций команд, выполняющих копирование содержимого одного регистра в другой.

             LD  LD LD   LD  LD   LD   LD   

 регистрA,R H,R L,R B,R C,R  D,R E,R

A      7F  67 6F   47  4F     57    5F

H      7C 64 6C   44  4C     54    5C

L       7D 65 6D    45  4D     55    5D

B      78  60 68    40  48     50         58

C      79  61 69   41   49      51    59          

D      7A  62 6А   42   4A      52    5A                

E       7B 63 6B   43    4B      53    5B

Ни одна из команд, приведенных в таблице, не изменяет флаги. Существует кроме того 4 команды для I и R регистров.

   Мнемоника                16-ный код     

    LD A,I                           ED57

    LD A,R                         ED5F

    LD I,A                           ED47

    LD R,A                          ED4F

Эти последние команды влияют на флаг переполнения четности.

Дата: 2019-07-30, просмотров: 227.