Набор команд микропроцессора КР580ИК80А — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Набор команд микропроцессора КР580ИК80А

2017-10-11 465
Набор команд микропроцессора КР580ИК80А 0.00 из 5.00 0 оценок
Заказать работу

 

Все команды микропроцессора КР580ИК80А де­лятся на пять групп.

1. Команды пересылки данных. Осуществляют пересылку данных между регистрами или между памятью и регистрами.

2. Арифметические команды. Пред­назначены для выполнения сложения, вычитания, увеличения или уменьшения содержимого регистров или ячеек па­мяти.

3. Логические команды. Выполняют логические операции "И", "ИЛИ" "исключающее ИЛИ", сравнение, сдвиг и дополнение данных в регистрах и ячейках памяти.

4. Команды условных и безусловных переходов, вызова подпрограмм и возвращения из подпрограмм.

5. Команды ввода/вывода, управ­ления и работы со стеком. Предназначены для выполнения операции ввода/вывода, работы со стеком, управления флагами, разрешения и запрещения прерываний.

Краткие пояснения для описания команд

Микропроцессора КР 580 ИК80А

ü rh – первый (старший) регистр указанной пары;

ü rl – второй (младший) регистр указанной пары;

ü PC – 16-битовый регистр – программный счетчик (обозначения РСН и РСL используется для указания старших и младших 8 бит данного регистра соответственно);

ü SP – 16-битовый регистр – указатель стека (обозначения SPH и SPL используются для указания старших и младших 8 бит данного регистра соответственно);

ü rm – бит m регистра r (биты нумеруются от 7 до 0 слева направо);

ü Z – флаг нуля;

ü S – флаг знака;

ü P – флаг четности;

ü CY – флаг переноса;

ü AC – флаг вспомогательного переноса;

ü () – в скобки заключается содержимое ячейки памяти или регистра;

ü – "Пересылается в";

ü Ù – Логическое "И";

ü " – "Исключающее ИЛИ";

ü Ú – Логическое "ИЛИ";

ü + – Сложение;

ü – Вычитание с дополнением до 2;

ü ´ – Умножение;

ü «– "Обменивается с";

ü ¾ – Дополнение до 1, т.е. инверсия;

ü n – Номер рестарта от 0 до 7;

ü NNN – Двоичное представление кода рестарта от 000 до 111 /от 0 до 7/.

 

Команды пересылки

Команды этой группы осуществляют пересылку данных в/из регистр (а) и ячейки памяти и не изменяют состо­яния флагов.

MOV r1, r2 (ПЕРЕСЫЛКА ДАННЫХ ИЗ РЕГИСТРА В РЕГИСТР)

(r1)(r2)

Содержимое регистра r2 пересылается в регистр r1.

 

    D D D S S S

 

MOV А, А 7F MOV B, А   MOV C, А 4F
А, B   B, B   C, B  
А, С   B, С   C, С  
A, D B, D   C, D 4A
А, Е B, Е   C, Е 4B
А, Н B, Н   C, Н 4C
A, L 7D B, L   C, L 4D
 
MOV D, А   MOV E, А 5F MOV H, А  
D, B   E, B   H, B  
D, С   E, С   H, С  
D, D   E, D 5A H, D  
D, Е   E, Е 5B H, Е  
D, Н   E, Н 5C H, Н  
D, L   E, L 5D H, L  
 
MOV L,А 6F  
L,B  
L,С  
L,D 6A
L,Е 6B
L,Н 6C
L,L 6D

Циклы:1. Состояния: 4. Адресация: регистровая. Флаги: не используются.

 

MOV r, M (ПЕРЕСЫЛКА ДАННЫХ ИЗ ПАМЯТИ)

(r)((H) (L))

Содержимое ячейки памяти, адрес которой хранится в регистрах H и L, пересылается в регистр r.

 

    D D D      

 

MOV А, M MOV D, M   MOV L, M 6E
B, M   E, M 5E  
С, М 4E H, M  

 

 

Циклы:2. Состояния: 7. Адресация: косвенная регистровая. Флаги: нет.

 

MOV M, r (ПЕРЕСЫЛКА ДАННЫХ В ПАМЯТЬ)

((H) (L)) (r)

Содержимое регистра r пересылается в ячейку памяти, адрес которой содержится в регистрах H и L.

 

 

          S S S

 

MOV M, А   MOV M, D   MOV M, L  
M, B   M, Е    
M, С   M, Н  

Циклы:2. Состояния: 7. Адресация: косвенная регистровая. Флаги: нет.

 

MVI r (НЕПОСРЕДСТВЕННАЯ ПЕРЕСЫЛКА)

(r) (байт 2)

Содержимое второго байта команды пересылается в регистр n.

 

    D D D      
Данные

 

MVI А, байт 3E MVI D, байт   MVI L, байт 2E
B, байт   Е, байт 1E  
С, байт 0E Н, байт  

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: нет.

 

MVI M, байт (НЕПОСРЕДСТВЕННАЯ ПЕРЕСЫЛКА В ПАМЯТЬ)

((H) (L)) (байт 2)

Содержимое второго байта команды пересылается в ячейку памяти, адрес которой указан в регистрах H и L.

 

               
Данные

 

MVI M, байт  

Циклы: 3. Состояния: 10. Адресация: непосредственная/косвенная регистровая. Флаги: нет.

 

LXI rp, 2 байта (НЕПОСРЕДСТВЕННАЯ ЗАГРУЗКА ПАРЫ РЕГИСТРОВ)

(rh) (байт 3)

(rl) (байт 2)

Третий байт команды пересылается в старший регистр (rh) пары регистров, второй – в младший регистр (rl) пары регистров.

 

    R P        
Младший байт данных
Старший байт данных

 

LXI B, 2 байта   непосредственная загрузка пары регистров B и C
D, 2 байта   непосредственная загрузка пары регистров D и E
H, 2 байта   непосредственная загрузка пары регистров H и L
LXI SP, 2 байта   непосредственная загрузка указателя стека

Циклы: 3. Состояния: 10. Адресация: непосредственная. Флаги: нет.

 

LDA [адр.] (ПРЯМАЯ ЗАГРУЗКА АККУМУЛЯТОРА)

(А) ((байт 3) (байт 2))

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

 

               
Младший байт адреса
Старший байт адреса

 

LDA [адр.]

Циклы: 4. Состояния: 13. Адресация: прямая. Флаги: нет.

 

STA [адр.] (ПРЯМАЯ ЗАПИСЬ СОДЕРЖИМОГО АККУМУЛЯТОРА В ПАМЯТЬ)

((байт 3) (байт 2)) (А)

Содержимое аккумулятора пересылается в ячейку памяти, адрес которой указан во втором и третьем байтах команды.

 

               
Младший байт адреса
Старший байт адреса

 

STA [адр.]  

Циклы: 4. Состояния: 13. Адресация: прямая. Флаги: нет.

 

LHLD [адр.] (ПРЯМАЯ ЗАГРУЗКА H и L)

(L) ((байт 3) (байт 2))

(H) ((байт 3) (байт 2) + 1)

Содержимое ячейки памяти, адрес которой указан во втором и третьем байтах команды, пересылается в регистр L. Содержимое ячейки памяти со следующим адресом ((адр.) + 1) пересылается в регистр Н.

 

               
Младший байт адреса
Старший байт адреса

 

LHLD [адр.]

Циклы: 5. Состояния: 16. Адресация: прямая. Флаги: нет.

 

SHLD [адр.] (ПРЯМАЯ ЗАПИСЬ СОДЕРЖИМОГО H, L РЕГИСТРОВ В ПАМЯТЬ)

((байт 3) (байт 2)) (L)

((байт 3) (байт 2) + 1) (H)

Содержимое регистра L пересылается в ячейку памяти, адрес которой определен во втором и третьем байтах команды. Содержимое Н регистра пересылается в следующую ячейку памяти.

 

               
Младший байт адреса
Старший байт адреса

 

SHLD [адр.]  

Циклы: 5. Состояния: 16. Адресация: прямая. Флаги: нет.

 

LDAX rp (КОСВЕННАЯ ЗАГРУЗКА АККУМУЛЯТОРА)

(A) ((rp))

Содержимое ячейки памяти, адрес которой указан в паре регистров rp, пересылается в аккумулятор.

Примечание. Могут быть указаны только пары регистров rp=B /регистры B и C/ и rp=D /регистры D и E/.

 

    R P        

 

LDAX B 0A
D 1A

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: нет.

 

STAX rp (КОСВЕННАЯ ЗАПИСЬ СОДЕРЖИМОГО АККУМУЛЯТОРА В ПАМЯТЬ)

((rp)) (A)

Содержимое аккумулятора пересылается в ячейку памяти, адрес которой определен в паре регистров rp.

Примечание. Могут быть указаны только пары регистров rp=B /регистры B и C/ или rp=D /регистры D и E/.

 

    R P        

 

STAX B  
D  

Циклы: 2. Состояния: 7. Адресация: косвенная регистрация. Флаги: нет.

 

XCHG (ОБМЕН ДАННЫМИ МЕЖДУ РЕГИСТРАМИ H, L и D, E)

(H) «(D)

(L) «(E)

Содержимое регистров H и L обменивается с содержимым регистров D и E.

 

               

 

XCHG EB

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: нет.

 

Арифметические команды

 

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

Если нет особых указаний, то команды изменяют состояния флагов нуля, четности, переноса и вспомогательного переноса в соответствии со стандартными правилами.

Все операции вычитания выполняются через арифметическое дополнение до 2, причем флаг переноса устанавливается в логическую 1, если имеется заем, и сбрасывается, если заема не было.

 

ADD r (СЛОЖЕНИЕ СОДЕРЖИМОГО АККУМУЛЯТОРА С СОДЕРЖИМЫМ РЕГИСТРА)

(A) (A) + (r)

Содержимое регистра r складывается с содержимым аккумулятора. Результат помещается в аккумулятор.

 

          S S S

 

ADD А   ADD D   ADD L  
B   E    
С   H  

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.

 

ADD M (СЛОЖЕНИЕ СОДЕРЖИМОГО АККУМУЛЯТОРА С СОДЕРЖИМЫМ ЯЧЕЙКИ ПАМЯТИ)

(A) (A) + ((H) (L))

Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, складывается с содержимым аккумулятора. Результат помещается в аккумулятор.

 

               

 

ADD M  

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.

 

ADI байт (НЕПОСРЕДСТВЕННОЕ СЛОЖЕНИЕ)

(A) (A) + (байт 2)

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

 

               
Данные

 

ADI байт C6

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

ADC r (СЛОЖЕНИЕ СОДЕРЖИМОГО АКУМУЛЯТОРА С СОДЕРЖИМЫМ РЕГИСТРА И БИТОМ ФЛАГА ПЕРЕНОСА)

(A) (A) + (r) + (CY)

Содержимое регистра r и бит флага переноса складываются с содержимым аккумулятора. Результат помещается в аккумулятор.

 

          S S S

 

ADC А 8F ADC D 8A ADC L 8D
B   E 8B  
С   H 8C

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.

 

ADC M (СЛОЖЕНИЕ СОДЕРЖИМОГО АКУМУЛЯТОРА С СОДЕРЖИМЫМ ЯЧЕЙКИ ПАМЯТИ И БИТОМ ПЕРЕНОСА)

(A) (A) + ((H) (L)) + (CY)

Содержимое ячейки памяти, адрес которой указан в регистрах H и L, и содержимое бита флага переноса складываются с содержимым аккумулятора. Результат помещается в аккумулятор.

 

               

 

ADC M 8E

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.

 

ACI байт (НЕПОСРЕДСТВЕННОЕ СЛОЖЕНИЕ С БИТОМ ПЕРЕНОСА)

(A) (A) + (байт 2) + (CY)

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

 

               
Данные

 

ACI байт CE

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

SUB r (ВЫЧИТАНИЕ СОДЕРЖИМОГО РЕГИСТРА)

(A) (A) – (r)

Содержимое регистра вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.

 

          S S S

 

SUB А   SUB D   SUB L  
B   E    
С   H  

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.

 

SUB M (ВЫЧИТАНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ)

(A) (A) – ((H) (L))

Содержимое ячейки памяти, адрес которой содержится в H и L регистрах, вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.

 

               

 

SUB M  

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.

 

SUI байт (НЕПОСРЕДСТВЕННОЕ ВЫЧИТАНИЕ)

(A) (A) – (байт 2)

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

 

               
Данные

 

SUI байт D6

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

 

 

SBB r (ВЫЧИТАНИЕ СОДЕРЖИМОГО РЕГИСТРА И БИТА ПЕРЕНОСА)

(A) (A) – (r) – (CY)

Содержимое регистра r и бит флага переноса CY вычитаются из содержимого аккумулятора. Результат помещается в аккумулятор.

 

          S S S

 

SBB А 9F SBB D 9A SBB L 9D
B   E 9B  
С   H 9C

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.

 

SBB M (ВЫЧИТАНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ И БИТА ПЕРЕНОСА)

(A) (A) – ((H) (L)) – (CY)

Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, и содержимое бита флага переноса CY вычитаются из содержимого аккумулятора. Результат помещается в аккумулятор.

 

               

 

SBB M 9E

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.

 

SBI байт (НЕПОСРЕДСТВЕННОЕ ВЫЧИТАНИЕ С ЗАЕМОМ)

(A) (A) – (байт 2) – (CY)

Содержимое второго байта команды и бита флага переноса CY вычитаются из аккумулятора. Результат помещается в аккумулятор.

 

               
Данные

 

SBI байт DE

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

 

INR r (УВЕЛИЧЕНИЕ СОДЕРЖИМОГО РЕГИСТРА)

(r) (r) + 1

Содержимое регистра r увеличивается на единицу.

Примечание. Команда влияет на состояние всех флагов, кроме флага переноса CY.

    D D D      

 

INR А 3C INR D   INR L  
B   E 1C  
С 0C H  

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, AC.

 

INR M (УВЕЛИЧЕНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ)

((H) (L)) ((H) (L)) + 1

Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, увеличивается на единицу.

Примечание. Команда воздействует на все флаги, кроме флага переноса CY.

 

               

 

INR M  

Циклы: 3. Состояния: 10. Адресация: косвенная регистровая. Флаги: Z, S, P, AC.

 

DCR r (УМЕНЬШЕНИЕ СОДЕРЖИМОГО РЕГИСТРА)

(r) (r) – 1

Содержимое регистра r уменьшается на единицу.

Примечание. Команда воздействует на все флаги, кроме флага переноса CY.

 

    D D D      

 

DCR А 3D DCR D   DCR L 2D
B   E 1D  
С 0D H  

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, AC.

DCR M (УМЕНЬШЕНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ)

((H) (L)) ((H) (L)) – 1

Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, уменьшается на единицу.

Примечание. Команда воздействует на все флаги, кроме флага переноса CY.

 

               

 

DCR M  

Циклы: 3. Состояния: 10. Адресация: косвенная регистровая. Флаги: Z, S, P, AC.

 

INX rp (УВЕЛИЧЕНИЕ СОДЕРЖИМОГО ПАРЫ РЕГИСТРОВ)

(rh) (rl) (rh) (rl) + 1

Содержимое пары регистров rр увеличивается на единицу.

Примечание. Команда не воздействует на флаги.

 

    R P        

 

INX B   (пара регистров B и C)
D   (пара регистров D и E)
H   (пара регистров H и L)
SP   (указатель стека)

 

Циклы: 1. Состояния: 6. Адресация: регистровая. Флаги: нет.

 

DCX rp (УМЕНЬШЕНИЕ СОДЕРЖИМОГО ПАРЫ РЕГИСТРОВ)

(rh) (rl) (rh) (rl) – 1

Содержимое пары регистров rр уменьшается на единицу.

Примечание. Команда не воздействует на флаги.

 

    R P        

 

DCX B 0B (пара регистров B и C)
D 1B (пара регистров D и E)
H 2B (пара регистров H и L)
SP 3B (указатель стека)

 

Циклы: 1. Состояния: 6. Адресация: регистровая. Флаги: нет.

 

DAD rp (СЛОЖЕНИЕ СОДЕРЖИМОГО ПАРЫ РЕГИСТРОВ С СОДЕРЖИМЫМ РЕГИСТРОВ H и L)

(H) (L) (H) (L) + (rh) (rl)

Содержимое пары регистров rр складывается с содержимым регистров H и L. Результат помещается в пару регистров H,L.

Примечание. Используется только флаг CY. Он устанавливается, если имеется перенос при сложении с двойной точностью, в противном случае он сбрасывается.

 

    R P        

 

DAD B   (пара регистров B и C)
D   (пара регистров D и E)
H   (пара регистров H и L)
SP   (указатель стека)

 

Циклы: 3. Состояния: 10. Адресация: регистровая. Флаги: CY.

 

DAA (ДЕСЯТИЧНОЕ ДОПОЛНЕНИЕ АККУМУЛЯТОРА)

8-битное число в аккумуляторе дополняется до представления в виде 4-битных чисел в двоично-десятичном коде с помощью следующих операций.

1. Если число, представленное четырьмя младшими битами аккумулятора, больше 8 или установлен флаг вспомогательного переноса АС, то к содержимому аккумулятора добавляется 6.

2. Если теперь число, представленное четырьмя старшими битами аккумулятора, больше 9 или установлен флаг переноса CY, то число 6 добавляется к числу, образованному четырьмя старшими битами аккумулятора.

Примечание. Используются все флаги.

 

               

 

DAA  

 

Циклы: 1. Состояния: 4. Флаги: Z, S, P, CY, AC.

Логические команды

 

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

Если нет особых указаний, то все команды воздействуют на флаги: нуля, четности, знака, переноса и вспомогательного переноса в соответствии со стандартными правилами.

 

ANA r (ОПЕРАЦИЯ «И» НАД СОДЕРЖИМЫМ РЕГИСТРА И АККУМУЛЯТОРА)

(A) (A) Ù (r)

Над содержимым регистра r и аккумулятора выполняется операция логическое «И». Результат помещается в аккумулятор. Сбрасывается флаг переноса CY, устанавливается флаг вспомогательного переноса АС.

 

          S S S

 

ANA А А7 ANA D А2 ANA L А5
B А0 E А3  
С А1 H А4

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, CY, AC, P.

 

ANA М (ОПЕРАЦИЯ «И» НАД СОДЕРЖИМЫМ ЯЧЕЙКИ ПАМЯТИ И АККУМУЛЯТОРА)

(A) (A) Ù ((H) (L))

Над содержимым ячейки памяти, адрес которой содержится в регистрах H и L, и содержимым аккумулятора выполняется операция логическая «И». Результат помещается в аккумулятор. Сбрасывается флаг переноса CY и вспомогательного переноса АС.

 

               

 

ANA M A6

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, AC, CY.

 

XRI байт (НЕПОСРЕДСТВЕННАЯ ОПЕРАЦИЯ)

(A) (A) Ù (байт 2)

Над содержимым второго байта команды и аккумулятора выполняется операция логическое «И». Результат помещается в аккумулятор. Сбрасываются флаги переноса CY и вспомогательного переноса АС.

 

 

               
Данные

 

XRI байт Е6

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

 

XRА r (ОПЕРАЦИЯ «ИСКЛЮЧАЮЩЕЕ ИЛИ» НАД СОДЕРЖИМЫМ АККУМУЛЯТОРА И РЕГИСТРА)

(A) (A) Ú (r)

Над содержимым регистра r и аккумулятора выполняется операция «исключающее ИЛИ». Результат помещается в аккумулятор. Сбрасываются флаги переноса CY и вспомогательного переноса АС.

 

          S S S

 

XRA А АF XRA D АA XRA L АD
B А8 E АB  
С А9 H АC

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.

 

XRА M (ОПЕРАЦИЯ «ИСКЛЮЧАЮЩЕЕ ИЛИ» НАД СОДЕРЖИМЫМ ЯЧЕЙКИ ПАМЯТИ И АККУМУЛЯТОРА)

(A) (A) Ú ((H) (L))

Над содержимым ячейки памяти, адрес которой содержится в регистрах H и L, и содержимым аккумулятора выполняется операция «исключающее ИЛИ». Результат помещается в аккумулятор. Сбрасываются флаги переноса CY и вспомогательного переноса АС.

 

               

 

XRA M

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.

 

XRI байт (НЕПОСРЕДСТВЕННАЯ ОПЕРАЦИЯ «ИСКЛЮЧАЮЩЕЕ ИЛИ»)

(A) (A) Ú (байт 2)

Над содержимым аккумулятора и второго байта команды выполняется операция «исключающее ИЛИ». Результат помещается в аккумулятор. Сбрасываются флаги переноса CY и вспомогательного переноса АС.

 

               
Данные

 

XRI байт ЕЕ

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

 

ORA r (ЛОГИЧЕСКОЕ СЛОЖЕНИЕ («ИЛИ» АККУМУЛЯТОРА С СОДЕРЖИМЫМ РЕГИСТРА)

(A) (A) Ú (r)

Содержимое регистра r логически складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Сбрасываются флаги переноса CY и вспомогательного переноса АС.

 

          S S S

 

ORA А B7 ORA D B2 ORA L B5
B B0 E B3  
С B1 H B4

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.

 

ORA M (ЛОГИЧЕСКОЕ СЛОЖЕНИЕ («ИЛИ») СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ ИЛИ АККУМУЛЯТОРА)

(A) (A) Ú ((H) (L))

Содержимое ячейки памяти, адрес которой определен в регистрах H и L, логически складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Сбрасываются флаги переноса CY и вспомогательного переноса АС.

 

               

 

ORA M B6

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.

 

ORI байт (НЕПОСРЕДСТВЕННОЕ ЛОГИЧЕСКОЕ СЛОЖЕНИЕ)

(A) (A) Ú (байт 2)

Содержимое второго байта команды складывается непосредственно с содержимым аккумулятора. Результат помещается в аккумулятор. Сбрасываются флаги переноса CY и вспомогательного переноса АС.

 

               
Данные

 

ORI байт F6

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

 

CMP r (СРАВНЕНИЕ СОДЕРЖИМОГО РЕГИСТРА С СОДЕРЖИМЫМ АККУМУЛЯТОРА)

(A) - (r)

Содержимое регистра r вычитается из содержимого аккумулятора. Аккумулятор не изменяется. По результату вычитания флаги устанавливаются следующим образом: флаг нуля Z – в 1, если (А) = (r); флаг переноса CY – в 1,если (A) < (r).

 

          S S S

 

CMP А BF CMP D BA CMP L BD
B B8 E BB  
С B9 H BC

 

 

Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.

 

CMP M (СРАВНЕНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ С СОДЕРЖИМЫМ АККУМУЛЯТОРА)

(A) - ((H) (L))

Содержимое ячейки памяти, адрес которой определен в регистрах H и L, вычитается из содержимого аккумулятора. Аккумулятор не изменяется. Флаги устанавливаются по результату вычитания следующим образом: флаг нуля Z – в 1, если (А) = ((H) (L)); флаг переноса CY – в 1,если A < ((H) (L)).

 

               

 

CMP M BE

Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, P, S, CY, AC.

 

CPI (байт) (НЕПОСРЕДСТВЕННОЕ СРАВНЕНИЕ)

(A) - (байт 2)

Содержимое второго байта команды вычитается из содержимого аккумулятора. По результату вычитания флаги устанавливаются следующим образом: флаг нуля Z – в 1, если (А) = (байт 2); флаг переноса CY – в 1,если (A) < (байт 2).

 

               
Данные

 

CPI байт FE

Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.

 

RLC (ЦИКЛИЧЕСКИЙ СДВИГ ВЛЕВО)

(An+1) (An), (A0) (A7), (CY) (A7)

Содержимое аккумулятора сдвигается влево на одну позицию. Содержимое самого старшего бита заносится в младший бит и бит флага переноса. Команда воздействует только на флаг переноса CY.

 

               

 

RLC  

 

Циклы: 1. Состояния: 4. Флаги: CY.

RRC (ЦИКЛИЧЕСКИЙ СДВИГ ВПРАВО)

(An) (An+1), (A7) (A0), (CY) (A0)

Содержимое аккумулятора сдвигается на одну позицию вправо. Содержимое младшего бита заносится в самый старший бит и бит флага переноса. Команда воздействует только на флаг переноса CY.

 

               

 

RRC 0F

Циклы: 1. Состояния: 4. Флаги: CY.

 

RAL (СДВИГ ВЛЕВО ЧЕРЕЗ ПЕРЕНОС)

(An+1) (An), (CY) (A7), (A0) (CY)

Содержимое аккумулятора сдвигается на одну позицию влево через бит флага переноса CY. Младший бит устанавливается равным флагу переноса, а бит флага переноса CY – равным величине старшего бита аккумулятора. Команда воздействует только на флаг переноса CY.

 

               

 

RAL  

Циклы: 1. Состояния: 4. Флаги: CY.

 

RAR (СДВИГ ВПРАВО ЧЕРЕЗ ПЕРЕНОС)

(An) (An+1), (CY) (A0), (A7) (CY)

Содержимое аккумулятора сдвигается на одну позицию вправо через бит флага переноса. Старший бит аккумулятора устанавливается равным флагу переноса, флаг переноса – равным младшему биту аккумулятора. Используется только флаг переноса CY.

 

               

 

RAR 1F

Циклы: 1. Состояния: 4. Флаги: CY.

 

CMA (ДОПОЛНЕНИЕ АККУМУЛЯТОРА)

(A) (A)

Содержимое аккумулятора инвертируется (бит, равный 1, становится равным 0; бит, равный 0, становится равным 1). Флаги не используются.

 

               

 

CMA 2F

 

Циклы: 1. Состояния: 4. Флаги: нет.

CMC (ДОПОЛНЕНИЕ ФЛАГА ПЕРЕНОСА)

CY (CY)

Инвертируется бит флага переноса CY. Другие флаги не используются.

 

               

 

CMC 3F

 

Циклы: 1. Состояния: 4. Флаги: CY.

 

STC (УСТАНОВКА ФЛАГА ПЕРЕНОСА)

(CY) 1

Бит флага переноса устанавливается в 1. Другие флаги не используются.

 

               

 

STC  

Циклы: 1. Состояния: 4. Флаги: CY.

 

Команды перехода

 

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

Имеется два типа команд перехода: безусловные и условные. Безусловные команды перехода осуществляют передачу управления, изменяя значение программного счетчика РС. Команды условного перехода сначала проверяют состояние одного из четырех флагов процессора, чтобы определить, выполнено ли указанное в команде условие. Имеются следующие условия перехода:

 

Условие Код
NZ – не ноль (Z=0)  
Z – ноль (Z=1)  
NC – нет переноса (CY=0)  
C – есть перенос (CY=1)  
РО – нечетный результат (Р=0)  
РЕ – четный результат (Р=1)  
Р – плюс (S=0)  
M – минус (S=1)  

 

JMP [адр.] (ПЕРЕХОД)

(PC) (байт 3) (байт 2)

Управление передается команде, адрес которой указан во втором и третьем байтах команды перехода.

 

               
Младший байт адреса
Старший байт адреса

 

JMP [адр.] C3

Циклы: 3. Состояния: 10. Адресация: непосредственная. Флаги: нет.

 

J (УСЛОВИЕ) [адр.] (УСЛОВНЫЙ ПЕРЕХОД)

Если (ССС), то(PC) (байт 3) (байт 2)

Если указанное условие истинно, то управление передается команде, адрес которой указан во втором и третьем байтах команды перехода.

Если условие ложное, то последовательный код программы не изменяется.

 

    С С С      
Младший байт адреса
Старший байт адреса

 

 

JNZ [адр.] C2 JC [адр.] DA JP [адр.] F2
JZ [адр.] CA JPO [адр.] E2 JM [адр.] FA
JNC [адр.] D2 JPE [адр.] EA  

 

Циклы: 3. Состояния: 10. Адресация: непосредственная. Флаги: нет.

CALL [адр.] (ВЫЗОВ)

((SP) – 1) (PCH)

((SP) – 2) (PCL)

(SP) (SP) - 2

(PC) (байт 3) (байт 2)

Старшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на 1 меньше содержимого указателя стека SP. Младшие 8 бит адреса следующей команды пересылаются в ячейку памяти, адрес которой на 2 меньше величины указателя стека SP. Содержимое указателя стека уменьшается на 2. Управление передается команде, адрес которой указан во втором и третьем байтах команды вызова.

 

               
Младший байт адреса
Старший байт адреса

 

CALL [адр.] CD

Циклы: 5. Состояния: 18. Адресация: непосредственная/косвенная регистровая. Флаги: нет.

 

(УСЛОВИЕ) (адр.) (УСЛОВНЫЙ ВЫЗОВ)

если (ССС), то ((SP) – 1) (PCH), ((SP) – 2) (PCL), (SP) (SP) – 2, (PC) (байт 3) (байт 2)

Если указанное условие истинно, то выполняются действия, описанные в команде CALL, в противном случае последовательность исполнения команды не изменяется.

 

    C C C      
Младший байт адреса
Старший байт адреса

 

CNZ [адр.] C4 CC [адр.] DC CP [адр.] F4
CZ [адр.] CC CPO [адр.] E4 CM [адр.] FC
CNC [адр.] D4 CPE [адр.] EC  

Циклы: 5. Состояния: 18. Адресация: непосредственная/косвенная регистровая. Флаги: нет.

 

RET (ВОЗВРАТ)

(PCL) ((SP))

(PCH) ((SP) + 1)

(SP) (SP) + 2

Содержимое ячейки памяти, адрес которой содержится в указателе стека SP, пересылается в 8 младших бит программного счетчика PC. Содержимое ячейки памяти, адрес которой на 1 больше содержимого указателя с


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.372 с.