СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА К580




 

Для лучшего понимания особенностей системы команд микропро­цессора воспользуемся программистской моделью МП К580 (рис.2.6), соответствующей упрощенной структуре микропроцессора. Модель со­держит только узлы, наиболее важные для понимания программистам процесса работы МП /4, стр.24/.

В верхней части рисунка представлены все программно - доступные (адресуемые в командах в явной или неявной форме) узлы МП и памяти, а в нижней части -- программно - недоступные узлы процессора, наиболее существенные для процесса выполнения команд. К послед­ним относятся АЛУ, управляющее устройство УУ, регистры временного хранения Т, W, Z и регистр адреса памяти РА.

В системе команд МП К580 имеются однобайтные, двухбайтные и трехбайтные команды. Формат команды и тип адресации задаются в команде неявно кодом операции. Адрес команды определяется адресом ее первого байта.

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

Систему команд МП можно разделить на группы команд и соот­ветствии с их функциональным назначением. Выделим следующие группы команд:

 

· пересылки информации;

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

· логических операции;

· передачи управления;

· специальные.

 

Система команд МП К580 представлена в таблице 11. В таблице указаны символические мнемонические обозначения (мнемокоды) ко­манд, используемые при написании программ на языке ассемблера МП К580. В основе этих символических обозначении, как правило, лежит аббревиатура от полной записи наименования команды на английском языке. Например, команда «загрузить аккумулятор с прямой адреса­цией» имеет мнемокод LDА, который представляет собой аббревиатуру от английского load direct accumulator.

Решению проблемы построения достаточно эффективной системы команд при коротком слове микропроцессора способствует использование регистра-аккумулятора с подразумеваемой адресацией для реали­зации одноадресных и безадресных команд (в последних адрес операнда неявно задается кодом операции). Широко применяется подразуме­ваемая и укороченная регистровая адресация для обращения к общим и специализированным регистрам блока регистров и регистровая кос­венная адресация для задания операнда в оперативной памяти (ОП).

Подробное описание команд дано ниже, где для ряда команд приведены операционные схемы, детально поясняющие процедуры их выполнения, также содержание регистра признаков (табл. 12)

Программистская модель микропроцессора К580  

 


ПРИЛОЖЕНИЕ

 

таблица 11. Система команд МП 580

Группа команд пересылки
Мнемокод Операция МЦ МТ Ф Изменяемые признаки
  MOV R1, R2 (R1) Ü (R2)       Все признаки
  XCHG (HL) Û (DE)       сохраняют свои
  SPHL (SP) Ü (HL)       значения
  MOV R, M (R) Ü M (HL)        
  MOV M, R M (HL) Ü (R)        
  LDAX RP’ (A) Ü M (RP)        
  STAX RP’ M (RP) Ü (A)        
  LDA A16 (A) Ü M (A16)        
  STA A16 M (A16) Ü (A)        
  LHLD A16 (HL) Ü M (A16)        
  SHLD A16 M (A16) Ü (HL)        
  MVI R, D8 (R) Ü D8        
  LXI RP, D16 (RP) Ü D16        
  MVI M, D8 M (HL) Ü D8        
  PUSH RP’’ M (SP-1) Ü (RPH) M (SP-2) Ü (RPL) (SP) Ü (SP) - 2        
  POP RP’’ (RPL) Ü M (SP) (RPH) Ü M (SP+1) (SP) Ü (SP) + 2        
  XTHL M (SP) Û (H) M (SP-1) Û (L)        
  IN PORT (A) Ü I (PORT)        
  OUT PORT O (PORT) Ü (A)        

 

Группа команд арифметических операций
  ADD R (A) Ü (A) + (R)       S, Z, AC, P, CY  
  ADC R (A) Ü (A) + (R) + CY       S, Z, AC, P, CY  
  SUB R (A) Ü (A) - (R)       S, Z, AC, P, CY  
  SBB R (A) Ü (A) - (R) - CY       S, Z, AC, P, CY  
  INR R (R) Ü (R) + 1       S, Z, AC, P  
  DCR R (R) Ü (R) - 1       S, Z, AC, P  
  DAD RP (HL) Ü (HL) + (RP)       CY  
  INX RP (RP) Ü (RP) + 1       ¾ ¾ ¾ ¾  
  DCX RP (RP) Ü (RP) - 1       ¾ ¾ ¾ ¾  
  ADD M (A) Ü (A) + M (HL)       S, Z, AC, P, CY  
  ADC M (A) Ü (A) + M (HL) +CY       S, Z, AC, P, CY  
  SUB M (A) Ü (A) - M (HL)       S, Z, AC, P, CY  
  SBB M (A) Ü (A) - M (HL) - CY       S, Z, AC, P, CY  
  INR M M (HL) Ü M (HL) + 1       S, Z, AC, P  
  DCR M M (HL) Ü M (HL) - 1       S, Z, AC, P  
  ADI D8 (A) Ü (A) + D8       S, Z, AC, P, CY  
  ACI D8 (A) Ü (A) + D8 + CY       S, Z, AC, P, CY  
  SUI D8 (A) Ü (A) - D8       S, Z, AC, P, CY  
  SBI D8 (A) Ü (A) - D8 -CY       S, Z, AC, P, CY  
  DAA десятичная коррекция (А)       S, Z, AC, P, CY  
Группа команд логических операций  
  ANA R (A) Ü (A) AND (R)       S, Z, AC*, P, CY=0  
  XRA R (A) Ü (A) XOR (R)       S, Z, P, AC = CY = 0  
  ORA R (A) Ü (A) OR (R)       S, Z, P, AC = CY = 0  
  CMP R (A) - (R)       S, Z, P, AC, CY  
  RLC Цикл. сдвиг влево       CY Ü A (7), AC = 0  
  RRC Цикл. сдвиг вправо       CY Ü A (0), AC = 0  
  RAL Цикл. сдвиг влево через A(0) Ü CY       CY Ü A (7), AC = 0  
  RAR Цикл. сдвиг вправо через A(7) Ü CY       CY Ü A (0), AC = 0  
  CMA (A) Ü INV (A)       ¾ ¾ ¾ ¾  
  ANA M (A) Ü (A) AND M (HL)       S, Z, P, AC, CY = 0  
  XRA M (A) Ü (A) XOR M (HL)       S, Z, P, AC = CY = 0  
  ORA M (A) Ü (A) OR M (HL)       S, Z, P, AC = CY = 0  
  CMP M (A) - M (HL)       S, Z, P, AC, CY  
  ANI D8 (A) Ü (A) AND D8       S, Z, P, AC*, CY = 0  
  XRI D8 (A) Ü (A) XOR D8       S, Z, P, AC = CY = 0  
  ORI D8 (A) Ü (A) OR D8       S, Z, P, AC = CY = 0  
  CPI D8 (A) - D8       S, Z, P, AC, CY  
  CMC (CY) Ü INV (CY)       CY  
  STC (CY) Ü 1       CY = 1  
Группа команд передачи управления  
  PCHL (PCH) Ü (H) (PCL) Ü (L)       Все признаки сохраняют свои  
  JMP A16 (PC) Ü A16       значения  
  J (COND) A16 Если условие выполняется, то (PC) Ü A16, иначе (PC) Ü (PC) = 1          
  CALL A16 M (SP - 1) Ü (PCH) M (SP - 2) Ü (PCL) (SP) Ü (SP) - 2 (PC) Ü A16     ¾    
  C (COND) A16 Если условие выполняется, то см. 62, иначе (PC) Ü (PC) + 1       ¾    
  RST N M (SP) Ü (PC) (PC) Ü N*8          
  RET (PCL) Ü M (SP) (PCH) Ü M (SP + 1) (SP) Ü (SP) + 2          
  R (COND) Если условие выполняется, то см. 65, иначе (PC) Ü (PC) + 1          
Группа специальных команд  
  EI Разрешить прерывание (триггер РПР) Ü 1       Все признаки сохраняют свои  
  DI Запретить прерывание (триггер РПР) Ü 0       значения  
  HLT Останов          
  NOP Пустая операция          

 

таблица 12. Регистр признаков.

Содержимое регистра признаков   Активные признаки (=1)     S   Z     AC     P       CY
  ¾ ¾ ¾ ¾   S-признак ”знака”; принимает значение старшего
  CY   разряда результата
  P    
  P, CY   Z - признак нуля; если результат = 0, то Z=1, иначе Z=0
  AC    
  AC, CY   AC - признак вспомогательного переноса, если есть
  AC, P   перенос между тетрадами байта, то АС=1, иначе АС=0
  AC, P, CY    
  Z, P   P - признак четности; если число единиц в байте результат
  Z, P, CY   четно, то Р=1, иначе Р=0
  Z, AC, P    
  Z, AC, P, CY   CY- признак переноса (заема); если при выполнении
  S   команды возник перенос из старшего разряда или заем
  S, CY   в старший разряд то CY=1, иначе CY=0
  S, P    
  S, P, CY    
  S, AC   Примечание: Для команд логического умножения признак
  S, AC, CY   вспомогательного переноса (АС) принимает значение
  S, AC, P   четвертого разряда результата (AC) Ü A (3)
  S, AC, P, CY    

 

 

*****

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


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