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

UptoLike

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

вывода, команды управления, вызова подпрограмм и некоторые команды пересылок
выполняются за два машинных цикла, а остальныеза один.
Тип 1
Тип 2
Тип 3
Тип 4
По функциональному признаку команды можно разбить на шесть групп: команды
пересылок и обмена данными; команды арифметических и логических операций и операций
над признаками; команды ввода-вывода данных; команды передачи управления и вызова
подпрограмм; команды управления таймером; команды управления режимом работы
ОМЭВМ.
Команды пересылок и обмена данными
Команды приведены в таблице 4.3. Все команды пересылки данных выполняются с
использованием аккумулятора. Данные могут пересылаться между аккумулятором и
рабочими регистрами (R0-R8) каждого банка РОН с регистровой адресацией. Например:
MOV A, R4- передать содержимое регистра в аккумулятор ((R4) (A)).
Обмен с ячейками внутреннего ОЗУ осуществляется с использованием косвенных
адресов, находящихся в регистрах R0 или R1, выбранного банка РОН. Так команда MOV
A,@R0 осуществляет загрузку в аккумулятор содержимого ячейки внутренней памяти, адрес
которой задан в регистре R0 (((R0)) (A)). Кроме того, регистры R0 и R1 являются
регистрами косвенных адресов, предназначенные для работы с внешней памятью.
Команда MOVX A,@R1 производит загрузку в аккумулятор содержимого ячейки
внешней памяти, адрес которой задан в регистре R1 (((R1)) (A)).
Таблица 4.3
Мнемоника Код
Двоичный
Время
в циклах
Содержание
MOV
A,#DATA
00100011
dddddddd
2
DATA (A)
MOV A, PSW 11000111 1
PSW (A)
MOV A, REG 11111REG 1
(REG) (A)
MOV A, @R 1111000R 1
((R)) (A)
MOV A, T 01000010 1
(T) (A)
MOV PSW, A 11010111 1
(A) (PSW)
MOV REG, A 10101REG 1
(A) (REG)
MOV REG,
#DATA
10111REG
dddddddd
2
DATA (REG)
MOV @R, A 1010000R 1
(A) ((R))
MOV T, A 01100010 1
(A) (T)
MOVP A,@A 10100011 2
(A) (CK
0-7
)
КОП
D7
D0
КОП
D7
D0
#
d
D7
D0
А7 А6 А5 А4 А3 А2 А1 А0
D7
D0
КОП
D7
D0
A10 A9 A8 КОП
D7
D0
А7 А6 А5 А4 А3 А2 А1 А0
D7
D0
Рис. 4.11 Фо
р
маты команд
вывода, команды управления, вызова подпрограмм и некоторые команды пересылок
выполняются за два машинных цикла, а остальные – за один.
         D7                D0
Тип 1               КОП
         D7                D0      D7                  D0

                    КОП                      #d
Тип 2    D7                D0      D7                  D0
                                   А7 А6 А5 А4 А3 А2 А1 А0
Тип 3   A10 A9 A8    КОП
         D7                D0     D7                   D0
                                   А7 А6 А5 А4 А3 А2 А1 А0
                    КОП
Тип 4
                Рис. 4.11 Форматы команд

      По функциональному признаку команды можно разбить на шесть групп: команды
пересылок и обмена данными; команды арифметических и логических операций и операций
над признаками; команды ввода-вывода данных; команды передачи управления и вызова
подпрограмм; команды управления таймером; команды управления режимом работы
ОМЭВМ.

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

      Команды приведены в таблице 4.3. Все команды пересылки данных выполняются с
использованием аккумулятора. Данные могут пересылаться между аккумулятором и
рабочими регистрами (R0-R8) каждого банка РОН с регистровой адресацией. Например:
MOV A, R4- передать содержимое регистра в аккумулятор ((R4) → (A)).
      Обмен с ячейками внутреннего ОЗУ осуществляется с использованием косвенных
адресов, находящихся в регистрах R0 или R1, выбранного банка РОН. Так команда MOV
A,@R0 осуществляет загрузку в аккумулятор содержимого ячейки внутренней памяти, адрес
которой задан в регистре R0 (((R0)) →(A)). Кроме того, регистры R0 и R1 являются
регистрами косвенных адресов, предназначенные для работы с внешней памятью.
      Команда MOVX A,@R1 производит загрузку в аккумулятор содержимого ячейки
внешней памяти, адрес которой задан в регистре R1 (((R1)) →(A)).
                                                                           Таблица 4.3
                  Мнемоника         Код        Время       Содержание
                                 Двоичный в циклах
                MOV              00100011      2          DATA→ (A)
                A,#DATA          dddddddd

                    MOV A, PSW          11000111       1     PSW→ (A)
                    MOV A, REG          11111REG       1     (REG)→ (A)
                    MOV A, @R           1111000R       1     ((R))→ (A)
                    MOV A, T            01000010       1     (T)→ (A)
                    MOV PSW, A          11010111       1     (A)→ (PSW)
                    MOV REG, A          10101REG       1     (A)→ (REG)
                    MOV REG,            10111REG       2     DATA→ (REG)
                    #DATA               dddddddd
                    MOV @R, A           1010000R       1     (A)→ ((R))
                    MOV T, A            01100010       1     (A)→ (T)
                    MOVP A,@A           10100011       2     (A)→ (CK0-7)