Комады пересылочных операций
	
При выполнении пересылочной операции код, хранящийся в одном месте памяти по адресу источника, записывается в другую ячейку памяти по адресу приемника (см. табл. 2.6). Для задания адресов операндов могут использоваться любые способы адресации.
 Таблица 2.6
	 
		
		| No п/п | Операция | Формат данных | 
		 
		
		| Байт | Слово | Двойное слово | 
		 
		
		| 1 | Пересылка в RRAM | LDB | LD | - | 
		 
		
		| 2 | Пересылка в RRAM с расширением без знака | LDBZE | - | 
		 
		
		| 3 | Пересылка в RRAM с расширением со знаком | LDBSE | - | 
		 
		
		| 4 | Пересылка из RRAM | STB | ST | - | 
		 
		
		| 5 | Обмен | XCHB | XCH | - | 
		 
		
		| 6 | Групповая пересылка без прерывания | - | BMOV | - | 
		 
		
		| 7 | Групповая пересылка с возможностью прерывания | BMOVI | - | 
		 
		
		| 8 | Пересылка в стек | PUSH | - | 
		 
		
		| 9 | Пересылка из стека | POP | - | 
		 
		
		| 10 | Специальная пересылка в стек | PUSHF | PUSHA | 
		 
		
		| 11 | Специальная пересылка из стека | POPF | POPA | 
		 
		  
При выполнении операций No 2,3 данные, хранящиеся по адресу источника в формате "байт", записываются по адресу приемника в формате "слово".
	 
	 Команды операций управления
	
Группа команд операций управления делится на две подгруппы - команды управления ходом программы и команды управления состоянием элементов и систем микроконтроллера. В первую подгруппу входят команды безусловного и условного переходов (см. табл. 2.7).
 Таблица 2.7
 
	 
		
		| No п/п | Операция | Мнемокод | 
		 
		
		| 1 | Длинный безусловный переход | LJMP | 
		 
		
		| 2 | "Короткий" безусловный переход | SJMP | 
		 
		
		| 3 | Косвенный безусловный переход | BR | 
		 
		
		| 4 | Табличный безусловный переход | TIJMP | 
		 
		
		| 5 | "Длинный" безусловный переход с возвратом | LCALL | 
		 
		
		| 6 | "Короткий" безусловный переход с возвратом | SCALL | 
		 
		
		| 7 | Возврат | RET | 
		 
		
		| 8 | Переход через один адрес | NOP | 
		 
		
		| 9 | Переход через два адреса | SKIP | 
		 
		
		| 10 | "Длинный" безусловный переход в расширенном пространстве | EJMP | 
		 
		
		| 11 | Косвенный безусловный переход в расширенном пространстве | ERB | 
		 
		
		| 12 | "Длинный" безусловный переход с возвратом в расширенном пространстве | ECALL | 
		 
		  
В таблице 2.8 приведены мнемокоды команд условного перехода и сами условия, при выполнении которых совершается переход.
 Таблица 2.8
 
		 
		
		| No п/п | Мнемокод | Условие | 
		 
		
		| 1 | JE | Z=1 |             
		 
		
		| 2 | JNE | Z=0 |             
		 
		
		| 3 | JLT | N=1 |             
		 
		
		| 4 | JGE | N=0 |             
		 
		
		| 5 | JV | V=1 |             
		 
		
		| 6 | JNV | V=0 |             
		 
		
		| 7 | JVT | VT=1 |             
		 
		
		| 8 | JNVT | VT=0 |             
		 
		
		| 9 | JC | C=1 |             
		 
		
		| 10 | JC | C=0 |             
		 
		
		| 11 | JST | ST=1 |             
		 
		
		| 12 | JNST | ST=0 |             
		 
		
		| 13 | JGT | N=0 Z=0 |             
		 
		
		| 14 | JLE | N=1 Z=1 |             
		 
		
		| 15 | JH | C=1 Z=0 |             
		 
		
		| 16 | JNH | C=0 Z=1 |             
		 
		
		| 17 | JBS | Бит=1 |             
		 
		
		| 18 | JBC | Бит=0 |             
		 
		
		| 19 | DJNZ | Переход, пока регистр не равен нулю |             
		 
		
		| 20 | DJNZW | Переход, пока слово не равно нулю |             
		 
		  
В командах условного перехода No 1-12 в качестве условия перехода используется наличие определенного значения одного из признаков результата в слове состояния программы. В командах No 13-16 требуется наличие определенного значения одновременно у двух признаков результата. Команды No 19,20 используются для организации цикла в программе. При каждом выполнении этой команды код числа, хранящийся соответственно в регистре или паре регистров (слово), уменьшается на единицу. Переход осуществляется, пока результат не равен нулю.
 В подгруппу команд управления состоянием элементов и систем МК входят команды установки значений для некоторых разрядов регистра слова состояния программы (PSW)  и команды программного сброса, программного прерывания и перевода микроконтроллера в энергосберегающие режимы (см. табл. 2.9). 
 Таблица 2.9
 
		 
		
		| No п/п | Мнемокод | Действие | 
		 
		
		| 1 | CLRTVT |  VT=PSW.4:=0 |             
		 
		
		| 2 | SETC | C=PSW.3:=1 |             
		 
		
		| 3 | CLRC | C=PSW.3:=0 |             
		 
		
		| 4 | EI | I=PSW.1:=1 |             
		 
		
		| 5 | DI | I=PSW.1:=0 |             
		 
		
		| 6 | EPTS | PSE=PSW.2:=1 |             
		 
		
		| 7 | DPTS | PSE=PSW.2:=0 |             
		 
		
		| 8 | RST | 2080 -> PC, 00H -> reg PSW |             
		 
		
		| 9 | TRAP | (2 reg 18H)-2->2 reg 18H, (PC) 2 loc (2 reg 18H) (2 loc 2010H) -> PC |             
		 
		
		| 10 | IDLPD#N | N=01H -> режим IDL N=02H -> режим PD |             
		 
		  
Все команды данной подгруппы, кроме IDLPD # N, однобайтовые.
 Команда RST переводит МК в состояние сброса, после чего начинается выполнение программы с первой команды, хранящейся по адресу 2080H.
 Команда с мнемокодом TRAP вызывает прерывание текущей программы с переходом к выполнению прерывающей подпрограммы с начальным адресом, хранящимся в ячейке 2010H. Эта команда используется при работе МК в процессе отладки совместно с внешними отладочными средствами. В рабочих программах команда TRAP не используется.
 Команда IDLPD при N=01H переводит МК в режим холостого хода (Idle mode), а при N=02H - в режим пониженного энергопотребления (Powerdown mode). При других значениях константы N эта команда выполняется как команда RST.
 Далее мы подробно рассмотрим структуру, функционирование и программирование основных периферийных устройств микроконтроллера 8ХС196КС/КD.
	 
	 <<<  
	Содержание	
	 >>>
 	
  	
 |