Одноадресные команды
	
	При выполнении одноадресной команды используется один адрес, по которому до выполнения операции находится операнд, а после выполнения операции записывается результат (см. табл. 2.3).
 Таблица 2.3
 
	 
		
		| No п/п | Операция | Формат данных | 
		 
		
		| Байт | Слово | Двойное слово | 
		 
		
		| 1 | Сложение с единицей | INCB | INC | - | 
		 
		
		| 2 | Вычитание с единицей | DECB | DEC | - | 
		 
		
		| 3 | Обнуление | CLRB | CLR | - | 
		 
		
		| 4 | Инверсия | NOTB | NOT | - | 
		 
		
		| 5 | Изменение знака | NEGB | NEG | - | 
		 
		
		| 6 | Рсширение со знаком | EXBT | EXT | 
		 
		  
В одноадресных командах используется прямая регистровая адресация.
 INCB CL; CL <- CL+1
 DEC AX;  AX <- AX-1
	 
	 Двухадресные команды
	
	При выполнении операции с двумя операндами (двухадресная команда) по первому адресу до выполнения операции находится первый операнд, а после выполнения операции записывается результат.
 Для указания местоположений первого операнда и результата используется прямая регистровая адресация. По другому адресу находится второй операнд, для указания его местоположения могут быть использованы все шесть способов адресации (см. табл. 2.4).
 Таблица 2.4
 
	 
		
		| No п/п | Операция | Формат данных | 
		 
		
		| Байт | Слово | Двойное слово | 
		 
		
		| 1 | Сложение | ADDB | ADD | - | 
		 
		
		| 2 | Сложение с переносом | ADDCB | ADDC | - | 
		 
		
		| 3 | Вычитание | SUBB | SUB | - | 
		 
		
		| 4 | Вычитание с займом | SUBCB | SUBC | - | 
		 
		
		| 5 | Логическое умножение | ANDB | AND | - | 
		 
		
		| 6 | Логическое сложение | ORB | OR | - | 
		 
		
		| 7 | Исключающее ИЛИ | XORB | XOR | - | 
		 
		
		| 8 | Сравнение | CMPB | CMP | CMPL | 
		 
		
		| 9 | Сдвиг влево | SHLB | SHL | SHLL | 
		 
		
		| 10 | Сдвиг вправо | SHRB | SHR | SHRL | 
		 
		
		| 11 | Арифметический сдвиг вправо | SHRAB | SHRA | SHRAL | 
		 
		
		| 12 | Умножение числа без знака | MULUB | MULU | 
		 
		
		| 13 | Умножение числа со знаком | MULB | MUL | 
		 
		
		| 14 | Деление числа без знака | DIVUB | DIVU | 
		 
		
		| 15 | Деление числа со знаком | DIVB | NORML DIV | 
		 
		
		| 16 | Нормализация | - | - | NORML | 
		 
		  
ADD AX,BX; AX <- (AX+BX)
 ST AX, TABLE[BX]; MEM_WORD (TABLE+BX) <- AX
	 
	 Трехадресные команды
	
С помощью трехадресных команд выполняются арифметические и логические операции с двумя операндами (см. табл. 2.5). При этом используется три адреса. По первому адресу записывается результат операции, по второму и третьему - первый и второй операнд соответственно.
 В трехадресных командах для указания местоположений первого операнда и результата, имеющих разные адреса, используется прямая регистровая адресация, а для указания местоположения второго операнда могут быть использованы все шесть способов адресации.
 Таблица 2.5
	 
		
		| No п/п | Операция | Формат данных | 
		 
		
		| Байт | Слово | Двойное слово | 
		 
		
		| 1 | Сложение | ADDB | ADD | - | 
		 
		
		| 2 | Вычитание | SUBB | SUB | - | 
		 
		
		| 3 | Логическое умножение | ANDB | AND | - | 
		 
		
		| 4 | Умножение числа без знаком | MULUB | MULU | 
		 
		
		| 5 | Умножение числа со знаком | MULB | MUL | 
		 
		  
		 
		
		| MULB AX,BL,3[CX] | AX <- BL * MEM_BYTE (CX+3);  (MULB_3op) | 
		 
		
		| AND AX,BX,TABLE[CX] | AX <- BX and MEM_WORD(TABLE +CX];  (AND_3op)
 |             
		 
		  
	
	 <<<  
	Содержание	
	 >>>
 	
  	
 |