Глава 3. Приращение / отрицательное приращение
Приращение/отрицательное приращение регистра
а)
INR ri | ri (ri) + 1 <B1> | ri |
б)
DCR ri | ri (ri) – 1 <B1> | ri |
7 0
В качестве регистров могут быть использованы A, B, C, D, E, H, L, M. При выполнении этой команда содержимое выбранного регистра увеличивается (а) или уменьшается (б) на единицу. Команда изменяет содержимое всех триггеров признаков кроме признака переноса, который остается без изменения. Команда выполняется за один цикл (5 тактов), а если в качестве регистра выбрана память M, то число циклов увеличивается до трех (10 тактов).
В команде DCR ri триггер Th устанавливается так же, как и команде вычитания.
Примеры:
A) INR L
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
015A | 2C | 2C |
L | DB | DC |
FL | ||
PC | 015A | 015B |
DCR M
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
H | ||
L | ||
EF | EE | |
FL | ||
PC |
C9) DCR E
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
02C9 | 1D | 1D |
E | A0 | 9F |
FL | ||
PC | 02C9 | 02CA |
C) INR B
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
012C | ||
B | FF | |
FL | ||
PC | 012C | 012D |
Приращение пары регистров
INX ri | ri, ri+1 (ri), (ri+1) + 1 <B1> | ri |
при ri =110 - приращение SP 7 0
Пример:
C05) INX B
Адрес | Код до выполнения операции | Код после выполнения операции |
2C05 | ||
B | ||
C | FF | |
FL | ||
PC | 2C05 | 2C06 |
Отрицательное приращение пары регистров
DCX ri | ri, ri+1 (ri), (ri+1) - 1 B1 | ri+1 |
при ri =111 - отрицательное приращение SP 7 0
Действие команд 3.2 и 3.3 аналогично действию команды 3.1, однако рассматривается двухбайтовое слово (16 разрядов). Регистровыми парами могут быть HL , BC, DE. В коде команды 3.2содержится код старшего регистра пары(B, D, H), а в коде команды 3.3 - код младшего регистра пары (C, E, L). При выполнении этих двух команд содержимое регистра признаков не изменяется. На выполнение команды затрачивается один машинный цикл (5 тактов для команды 3.2 и 6 тактов для команд 3.З) Если код регистра равен 110 или 111, происходит увеличение или уменьшение содержимого регистра SP - указателя стека.
Примеры:
DCX D
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
1B | 1B | |
D | FE | FE |
E | FF | |
FL | ||
PC |
A33) DCX D
Адрес/регистр | Код до выполнения операции | Код после выполнения операции |
0A33 | 1B | 1B |
D | ||
E | 2E | 2C |
FL | ||
PC | 0A33 | 0A34 |
3.4 Контрольные вопросы и задания
1. Какие команды относятся к группе приращение/отрицательное приращение?
2. Какие признаки (флаги) изменяются при выполнении команды DCR A и как?
3. Чем отличаются по своему выполнению команды INR H и INX H?
4. Как изменится работа команды DCX, если (D)=0A, (E)=00?
5. Найдите неверно записанную команду или команды:
- DCR M;
- INR L;
- DCX E;
- INX D;
- INX M.
Дата добавления: 2021-02-19; просмотров: 387;