Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 71 стр.

UptoLike

Составители: 

((CK)) A
MOVP3 A,@A 11100011 2
(A) (CK
0-7
)
0011(CK
8-11
)
((CK)) A
MOVX A, @R 1000000R 2
((R)) (A)
MOVX @R,A 1001000R 2
(A) ((R))
XCH A,REG 00101REG 1
(A) (REG)
XCH A,@R 0010000R 1
(A) ((R))
XCHD A,@R 0011000R 1
(A
0-3
)
(REG
0-3
)
SWAP A 01000111 1
(A
0-3
)(A
4-7
)
Команды арифметических и логических операций
Эта группа команд выполняет операции сложения, инкремента и декремента, сдвигов,
конъюнкции и дизъюнкции над непосредственным операндом, содержимым аккумулятора,
регистров и ячеек памяти. В ОМЭВМ отсутствует команда вычитания, что приводит к
необходимости выполнения ряда операций: получение дополнительного кода, суммирование
и вычисление дополнительного кода результата. Сложные операции выполняются по
подпрограммам.
Арифметические команды формируют признаки результата операций. Из множества
признаков результата операции программно-доступными являются только четыре признака:
перенос (С), вспомогательный перенос (АС), признаки пользователя F0 и F1. Признак F0,
кроме того, доступен через слово состояния процессора (см. рис 4.2). В таблице 4.4 приведен
перечень команд арифметических и логических операций, а также операций над признаками.
Таблица 4.4
Мнемоника
Код
двоичный
Время
в
циклах
Содержание
ADD A,REG 01101REG 1
(A)+(REG)(A)
ADD A,@R 0110000R 1
(A)+((R))(A)
ADD A,#DATA 00000011
dddddddd
2
(A)+DATA(A)
ADDC A,REG 01111REG 1 (A)+(REG)+
+(C)(A)
ADDC A,@R 0111000R 1 (A)+((R))+(C)
(A)
ADDC
A,#DATA
00010011
dddddddd
2 (A)+DATA+(C)
(A)
DA A 01010111 1 Десятичная
коррекция А
DEC A 00000111 1
(A)-1(A)
DEC REG 11001REG 1
(REG)-1(A)
INC A 00010111 1
(A)+1(A)
INC REG 00011REG 1
(REG)+1(A)
INC @R 0001000R 2
((R))+1((R))
RL A 11100111 1
(A
n
)(A
n+1
)
(A
7
)(A
0
)
                                                          ((CK)) → A
                 MOVP3 A,@A       11100011     2          (A)→ (CK0-7)
                                                          0011→(CK8-11)
                                                          ((CK)) → A
                 MOVX A, @R       1000000R     2          ((R))→ (A)
                 MOVX @R,A        1001000R     2          (A)→ ((R))
                 XCH A,REG        00101REG     1          (A) ↔(REG)
                 XCH A,@R         0010000R     1          (A) ↔((R))
                 XCHD A,@R        0011000R     1          (A0-3) ↔
                                                          (REG0-3)
                 SWAP A           01000111     1          (A0-3)↔(A4-7)

                      Команды арифметических и логических операций

      Эта группа команд выполняет операции сложения, инкремента и декремента, сдвигов,
конъюнкции и дизъюнкции над непосредственным операндом, содержимым аккумулятора,
регистров и ячеек памяти. В ОМЭВМ отсутствует команда вычитания, что приводит к
необходимости выполнения ряда операций: получение дополнительного кода, суммирование
и вычисление дополнительного кода результата. Сложные операции выполняются по
подпрограммам.
      Арифметические команды формируют признаки результата операций. Из множества
признаков результата операции программно-доступными являются только четыре признака:
перенос (С), вспомогательный перенос (АС), признаки пользователя F0 и F1. Признак F0,
кроме того, доступен через слово состояния процессора (см. рис 4.2). В таблице 4.4 приведен
перечень команд арифметических и логических операций, а также операций над признаками.

                                                                               Таблица 4.4
                                     Код         Время   Содержание
                  Мнемоника       двоичный     в
                                               циклах
                 ADD A,REG        01101REG     1       (A)+(REG)→(A)
                 ADD A,@R         0110000R     1       (A)+((R))→(A)
                 ADD A,#DATA      00000011     2       (A)+DATA→(A)
                                  dddddddd
                 ADDC A,REG       01111REG     1         (A)+(REG)+
                                                         +(C)→(A)
                 ADDC A,@R        0111000R     1         (A)+((R))+(C)
                                                         →(A)
                 ADDC             00010011     2         (A)+DATA+(C)
                 A,#DATA          dddddddd               →(A)
                 DA A             01010111     1         Десятичная
                                                         коррекция А
                 DEC A            00000111     1         (A)-1→(A)
                 DEC REG          11001REG     1         (REG)-1→(A)
                 INC A            00010111     1         (A)+1→(A)
                 INC REG          00011REG     1         (REG)+1→(A)
                 INC @R           0001000R     2         ((R))+1→((R))
                 RL A             11100111     1         (An)→(An+1)
                                                         (A7)→(A0)