Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Система и формат команд МП К580.



Выполнение команды в МПС состоит из фаз: выборки адресованной команда из памяти и ее исполнение. Вторая фаза в свою очередь делится еще на две части: выборки операндов из памяти и выполнение операции над операндами.

Длительность командно цикла индивидуальна для каждой команды и может быть выражена количеством тактов или периодов генератора МП. Зная частоту генератора, можно определить реальное время выполнение как команды в отдельности, так и каких-либо фрагментов программ.

В МП К580 используется 4 типа адресации к памяти или регистрам:

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

· регистровая адресация код команды неявно содержит информацию о регистре (регистрах), в котором записан операнд.

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

· непосредственная – операнды задаются непосредственно в команде в след за байтом кода операция во 2-ом или во 2-ом и 3-ем байтах.

Формат команды МП К580 может быть представлен тремя типами:

 

1. Однобайтовые команды

Код операции Регистр приемник/ первый операнд Регистр источник/ второй операнд
7 6 5 4 3 2 1 0

2. Двухбайтовые команды

Код операции (В1)
Непосредственные данные или порт ввода/вывода (В2)

 

3. Трехбайтовые команды

Код операции (В1)
Младший байт адреса (В2)
Старший байт адреса (В3)

 

Набор команд МП КР 580 содержит 78 базовых команд, и в целом включает 244 различные их модификации. Все команды подразделяются на 5 функционально специализированных групп:

· Команды передачи данных:

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

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

· Команды передачи управления;

· Команды стека, ввода вывода, управления.

 

Таблица 2.1

Условные обозначения в наборе команд

R1, R2, R Один из регистров A, B, C, D, T, H, L
M Ячейка памяти, адресуемая содержимым HL-пары регистров
RR Одна из регистровых пар BC, DE, HL или указатель стека SP
RRH, RRL Старший и младший регистры регистровой пары RR
PCH, PCL Старший и младший регистры программного счетчика PC
B2, B3 Второй и третий байты команды
( Х ) Содержимое элемента или адреса Х
(( Х )) Содержимое элемента, адресуемого по содержимому элемента Х
Оператор присваивания

 

Таблица 2.2

Набор команд МП К580

Формат Время тактов Код Мнемокод Наименование команды Операция Признаки  
S Z AC P CY  
 
        Команды передачи данных              
* MOV R1,R2 Пересылка данных из регистра в регистр (R1)←(R2) - - - - -  
* MOV R,M Пересылка данных из памяти в регистр (R)←((H,L)) - - - - -  
* MOV M,R Пересылка данных из регистра в память ((H,L))← (R) - - - - -  
* MVI R,B2 Пересылка непосредственных данных в регистр (R)←В2 - - - - -  
* MVI М,B2 Пересылка непосредственных данных в память ((H,L))←В2 - - - - -  
* LXI RR, B2B3 Непосредственная загрузка регистровой пары (RRH) ←B3 (RRL) ←В2 - - - - -  
3A LDA B2B3 Прямая загрузка А-регистра (А)←((В3,В2)) - - - - -  
* LDAX RR Косвенная загрузка А-регистра (А)←((RR)) - - - - -  
* STAX RR Косвенное запоминание А-регистра ((RR))← (А) - - - - -  
LHID В2ВЗ Прямая нагрузка H-пары регистров (L) ← ((B2B3)) (H)←((B2B3)+1) - - - - -  
      STA В2В3   Прямое запоминание содержимого А-регистра ((B2B3)) ←A   - - - - -  
      SHLDY В2В3 Прямое запоминание содержимого Н-пары регистров ((B2B3)) ← (L) ((B2B3+1))←(H) - - - - -  
    EВ   XCHG   0бмен между Н- и D-парами регистров (H)↔(D) (L) ↔ (E)   - - - - -  
              Команды арифметических операций              
  4!   *   ADDR   Сложение содержимого А-регистра   (A)← (A) + (R)   + + + + +  
      ADDM   Сложение содержимых ячейки памяти и А-регистра (A) ← (A) + ((H,L)) + + + + +  
    С6   ADI B2   Сложение непосредственных данных и содержимого А-регистра (A) ← (A)-(B2)   + + + + +  
    *   ADC R   Сложение содержимых регистра и А-регистра с переносом (А) ← (А) + (R) + (CY) + + + + +  
    8E   ADC M   Сложение содержимых ячейки памяти и А-регистра с переносом А) ← (А)+ ((H,L)) + (CY) + + + + +  
    CE   ACI B2   Сложение непосредственных данных н А-регистра с переносом А) - (А) + (B2) + (CY)   + + + + +  
    *   INR R   Инкрементирование содержимого регистра (R)← (R)+1   +   +   +   +   -    
INR M   Инкрементирование содержимого ячейки памяти ((H,L))← ((H,L))+l +   +   +   +   -    
* INX RR   Инкрементирование содержимого регистровой пары (RR) ← (RR) + 1   - - - - -  
    *   DCR R   Декрементирование содержимого регистра (R) ← (R)-1   +   +   +   +   -    
      DCR M   Декрементирование содержимого ячейки памяти ((H,L)) ← ((H,L))-1 +   +   +   +   -    
    *   DCX RR   Декрементирование содержимого регистровой пары (RR)← (RR)-1   - - - - -  
    *   SUB R   Вычитание содержимого регистра из содержимого А-регистра (A) ← (A) - (R)   +   +   +   +   +    
      SUB M   Вычитание содержимого ячейки памяти из содержимого А-регистра (A) ← (A)-((H,L)) +   +   +   +   +    
    D6   SUI B2   Вычитание непосредственных данных из содержимого А-регистра (A) ← (A)-(B2)   +   +   +   +   +    
* SBB R Вычитание содержимого регистра из содержимого А-регистра с заемом (A)← (A)-(R)-(CY)   +   +   +   +   +    
9E SBB M Вычитание ячейки памяти из содержимого А-регистра с заемом (А)← (А) -((H,L))-(CY) +   +   +   +   +    
    DE   SBI B2   Вычитание непосредственных данных ис содержимого А-регистра с заемом (А)← (А)-(B2)-(CY)   +   +   +   +   +    
I     *   DAD RR   Сложение содержимых регистровой пары и Н-пары регистров (H,L)← (H,L) + (RR) - - - - +  
        Команды логических операций              
    *   ANA R   Поразрядное И над содержимым регистра и А- регистра (A) ← (A)۸ (R)   +   +     +    
    A6   ANA M   Поразрядное И над содержимым ячейки памяти и А-регистра (A) ← (A) ۸ ((H,L)) +   +     +    
    E6   ANI B2   Поразрядное И над непосредственными данными и содержимым А-регистра (A) ← (A) ۸ (B2)   +   +     +    
    *   CMP R   'Сравнение содержимых регистра и А-регистра Если (А) -(RM)=0,то (CY) = 0, (Z)=l. Если (A) -(RM)>0, то (CY) = 0,(Z) = 0, Если (А) -(RM)<0, то (CY)=1,(Z)=0 +   +   +   +   +    
    BE   CMP M   Сравнение содержимых ячейки памяти и А-регистра +   +   +   +   +    
    0Е   CPI B2   Сравнение непосредственных данных с содержимым А-регистра +   +   +   +   +    
    2F   CMA   Дополнение содержимого А-регистра (A) ← (A)   - - - - -  
* XRA R Поразрядное Исключающее ИЛИ над содержимым регистра и А-регистра (A) ← (A) ۷ R   +   +     +  
AE XRA M Поразрядное Исключающее ИЛИ над содержимым ячейки памяти и А-регистра (A)← (A) ۷ ((H,L))>   +   +     +    
    ЕЕ   XR1 B2   Поразрядное Исключающее ИЛИ над содержимым А-регистра и непосредственными данными (A)← (A) ۷ (B2)   +   +     +    
    *   ORA R   Поразрядное ИЛИ над содержимым регистра и А-регистра (A)← (A) ۷ R   +   +     +    
    B6   ORA M   Поразрядное ИЛИ над содержимым ячейки памяти и А-регистра (A)← (A) ۷ ((Н,L))   +   +     +    
    F6   ORI B2   Поразрядное ИЛИ над непосредственными данными и содержимым А-регистра (A) ← (A) ۷ (B2)   +   +     +    
      RLC   Циклический сдвиг влево содержимого А~регистра i-1) ← (Аi) (Ao) ← (A7) (СY) ← (A7) - - - - +  
      RAL   Циклический, сдвиг влево содержимого А-регистра через перенос i-1) ← (Аi) (Ao) ← (CY) (СY) ← (A7) - - - - +  
    0F   RRC   Циклический сдвиг вправо содержимого А-регистра (Ai)← (Ai+1) (A0) ← (A7) (CY)← (A0) - - - - +  
      STC   Установка в 1 признака переноса (CY) ← 1 - - - -  
        Команды передача управления            
C3 JMP В2BЗ Безусловный переход (PC) ← (B2,B3) - - - - -
DA JC B2B3 Переход, если перенос Если условие верно, то (PC) ← (B2,B3) иначе (PC) ←(PC)+3   - - - - -
D2 JNC B2B3 Переход, если не перенос - - - - -
CA JZ B2B3 Переход, если нуль   - - - -
C2 JNZ B2B3 Переход, если не нуль        
F2 JP B2B3 Переход, если плюс        
FA JM B2B3 Переход, если минус        
EA JPE B2B3 Переход, если паритет четный        
E2 JPO B2B3 Переход, если паритет не четный        
CD CALL B2B3 Безусловный вызов подпрограммы ((SP)-1)←(PCH), ((SP)-2)←(PCL), (SP) ← (SP)-2 (PC) ←(B2B3)        
11/17 DC CC B2B3 Вызов подпрограммы, если перенос Если условие верно, то ((SP)-1)←(PCH), ((SP)-2)←(PCL), (SP) ← (SP)-2 (PC) ←(B2B3), иначе (PC) ←(PC)+3        
11/17 D4 CNC B2B3 Вызов подпрограммы, если не перенос        
11/17 CC CZ B2B3 Вызов подпрограммы, если нуль        
11/17 C4 CNZ B2B3 Вызов подпрограммы, если не нуль        
11/17 F4 CP B2B3 Вызов подпрограммы, если плюс        
11/17 FC CM B2B3 Вызов подпрограммы, если минус        
11/17 EC CPE B2B3 Вызов подпрограммы, если паритет четный        
11/17 E4 CPO B2B3 Вызов подпрограммы, если паритет не четный        
C9 RET Возврат из подпрограммы (PCL) ←((SP)), (PCH)←((SP)+1) (SP) ←(SP)+2        
5/11 D8 RC Возврат из подпрограммы, если перенос Если условие верно, то (PCL) ← ((SP)), (РСН) ← ((SP)+1), (SP) ← (SP) + 2, иначе (PC) +- (PC) + 1          
5/11 D0 RNC Возврат из подпрограммы если не перенос        
5/11 C8 RZ Возврат, если 0 - - - - -
5/11 C0 RNZ Возврат, если не 0 - - - - -
5/11 F0 RP Возврат, если плюс - - - - -
5/11 F8 RM Возврат, если минус - - - - -
5/11 E8 RPF Возврат, если четно - - - - -
5/11 E0 RPO Возврат, если не четно - - - - -
C7 RSTO Рестарт по 0-му уровню ((SP)-1)← (PCH), ((SP)-2)← (PСL). (SP) ← (SP) – 2, (PC) ← 8*N   - - - - -
CF RST1 Рестарт по 1-му уровню - - - - -
D7 RST2 Рестарт по 2-му уровню - - - - -
DF RST3 Рестарт по 3-му уровню - - - - -
E7 RST4 Рестарт по 4-му уровню - - - - -
EA RST5 Рестарт по 5-му уровню - - - - -
F7 RST6 Рестарт по 6-му уровню - - - - -
FF RST7 Рестарт по 7-му уровню - - - - -
    E9   PCHL   Запись содержимого Н-нары регистров (PCH) ← (H) (PCL) ← (L) - - - - -
        Команды стека, ввода-вывода и управления            
    *   PUSH RR   Запись в стек содержимого регистровой пары ((SP)-1← (RRH), ((SP)-2) ← (RRL), (SP)← (SP)-2   - - - - -
F5 PUSH PSW Запись в стек слова состояния процессора ((SP)-1)← (A), (SP)← (SP)-2, ((SP)-2)← F - - - - -
    *   POPRR   Чтение содержимого регистровой пары из стека (RRL)← ((SP)) (RRH)← -((SP)+1), (SP) ← (SP) + 2   - - - - -
Fl POP PSW Чтение из стека слова состояния процессора (F) ← ((SP)), (A) ← ((SP)+1), (SP) ← (SP) + 2 - - - - -
    E3   XTHL   Обмен между вершиной стека и Н-парой регистров (L)← ((SP)), (H)← ((SP)+1) (SP) ← (H,L) - - - - -  
    F9   SPHL   Запись содержимого Н пары регистров в указатель стека (SP) ← (H,L) - - - - -  
    DB   IN B2   Ввод данных (A) ← ((B2)) - - - - -  
    D3   OUT B2   Вывод данных ((B2)) ← (A) - - - - -  
    FB   E1   Разрешение прерывания (INTE) ← 1 - - - - -  
F3 DI Запрет прерывания (INTE) ← 0 - - - - -  
      HLT   Останов (PC) ← (PC) +1 - - - - -  
NOP Пустая операция (PC)←(РС) + 1 - - - - -  
                                     

 

 

Таблица 2.3

Коды команд MOV RM1,RM2

RMl RM2  
В   С   D   E   H   L   M   A  
В   401                
С     49 1   4A   4B   4C   4D   4E   4F  
D       521            
E       5A   5B1   5C   5D   5E   5F  
H           641        
L       6A   6B   6C   6D1   6E   6F  
M               762    
A       7A   7B   7C   7D   7E   7F1  

Таблица 2.4

Коды команд с регистрами

Команда   RM  
В   С   D   E   H   L   M   A  
ADDRM                
ADCRM       8A   8B   8C   8D   8E   8F  
SUBRM                  
SBBRM       9A   9B   9C   9D   9E   9F  
ANARM   А0   Al   A2   A3   A4   A5   A6   A7  
XRARM   A8   A9   AA   AB   AC   AD   AE   AF  
ORARM   B0   B1   B2   B3   B4   B5   B6   B7  
CMPRM   B8   B9   BA   BB   ВС   BD   BE   BF  
INRRM     0С     1C     2C     3C  
DCRRM     0D     1D     2D     3D  
MVIRM   0E     1E     2E     3E  

 

Таблица 2.5

Коды команд с регистровыми парами

Команда   RB  
B   D   H   P  
LXI RR          
LDAX RR   0A   1A   -   -  
STAXRR       -   -  
INXRR          
DCXRR   0B   1B   2B   3B  
DADRR          
PUSH RR   C5   D5   E5   -  
POP   C1   D1   E1   -  

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.