Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Сброс переноса | CLR C | 11000011 | 1 | 1 | 1 | (С)<-0 |
Сброс бита | CLR bit | 11000010 | 4 | 2 | 1 | (b)<-0 |
Установка переноса | SETB C | 11010011 | 1 | 1 | 1 | (C)<-1 |
Установка бита | SETB bit | 11010010 | 4 | 2 | 1 | (b)<-1 |
Инверсия переноса | CPL C | 10110011 | 1 | 1 | 1 | (C)<-not(C) |
Инверсия бита | CPL bit | 10110010 | 4 | 2 | 1 | (b)<-not(b) |
Логическое И бита и переноса | ANL C,bit | 10000010 | 4 | 2 | 2 | (C)<-(C)and(b) |
Логическое И инверсии бита и переноса | ANL C,/bit | 10110000 | 4 | 2 | 2 | (C)<-(C)andnot(b) |
Логическое ИЛИ бита и переноса | ORL C,bit | 01110010 | 4 | 2 | 2 | (C)<-(C)or(b) |
Логическое ИЛИ инверсии бита и переноса | ORL C,/bit | 10100000 | 4 | 2 | 2 | (C)<-(C)ornot(b) |
Пересылка бита в перенос | MOV C,bit | 10100010 | 4 | 2 | 1 | (C)<-(b) |
Пересылка переноса в бит | MOV bit,C | 10010010 | 4 | 2 | 2 | (b)<-(C) |
Команды передачи управления
Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Длинный переход в полном объеме памяти программ | LJMP ad16 | 00000010 | 12 | 3 | 2 | (PC)<-ad16 |
Абсолютный переход внутри страницы в 2 Кбайта | AJMP ad11 | a10a9a800001 | 6 | 2 | 2 | (PC)<-(PC)+2 (PC0..10)<-ad11 |
Короткий относительный переход внутри страницы в 256 байт | SJMP rel | 10000000 | 5 | 2 | 2 | (PC)<-(PC)+2 (PC)<-(PC)+rel |
Косвенный относительный переход | JMP @A+DPTR | 01110011 | 1 | 1 | 2 | (PC)<-(A)+(DPTR) |
Переход, если аккумулятор равен нулю | JZ rel | 01100000 | 5 | 2 | 2 | (PC)<-(PC)+2, если (A)=0, то (PC)<-(PC)+rel |
Переход, если аккумулятор не равен нулю | JNZ rel | 01110000 | 5 | 2 | 2 | (PC)<-(PC)+2, если (A)≠0, то (PC)<-(PC)+rel |
Переход, если перенос равен единице | JC rel | 01000000 | 5 | 2 | 2 | (PC)<-(PC)+2, если (C)=1, то (PC)<-(PC)+rel |
Переход, если перенос равен нулю | JNC rel | 01010000 | 5 | 2 | 2 | (PC)<-(PC)+2, если (C)=0, то (PC)<-(PC)+rel |
Переход, если бит равен единице | JB bit,rel | 00100000 | 11 | 3 | 2 | (PC)<-(PC)+3, если (b)=1, то (PC)<-(PC)+rel |
Переход, если бит равен нулю | JNB bit,rel | 00110000 | 11 | 3 | 2 | (PC)<-(PC)+3, если (b)=0, то (PC)<-(PC)+rel |
Переход, если бит установлен, с последующим сбросом бита | JBC bit,rel | 00010000 | 11 | 3 | 2 | (PC)<-(PC)+3, если (b)=1, то (b)<-0 и (PC)<-(PC)+rel |
Декремент регистра и переход, если не нуль | DJNZ Rn,rel | 11011rrr | 5 | 2 | 2 | (PC)<-(PC)+2, (Rn)<-(Rn)-1, если (Rn)≠0, то (PC)<-(PC)+rel |
Декремент прямоадресуемого байта и переход, если не нуль | DJNZ ad,rel | 11010101 | 8 | 3 | 2 | (PC)<-(PC)+2, (ad)<-(ad)-1, если (ad)≠0, то (PC)<-(PC)+rel |
Сравнение аккумулятора с прямоадресуемым байтом и переход, если не равно | CJNE A,ad,rel | 10110101 | 8 | 3 | 2 | (PC)<-(PC)+3, если (A)≠(ad),то (PC)<-(PC)+rel, если (A)<(ad), то (С)<-1, иначе (С)<-0 |
Сравнение аккумулятора с константой и переход, если не равно | CJNE A,#d,rel | 10110100 | 10 | 3 | 2 | (PC)<-(PC)+3, если (A)≠#d, то (PC)<-(PC)+rel, если (A)<#d, то (С)<-1, иначе (С)<-0 |
Сравнение регистра с константой и переход, если не равно | CJNE Rn,#d,rel | 10111rrr | 10 | 3 | 2 | (PC)<-(PC)+3, если (Rn)≠#d, то (PC)<-(PC)+rel, если (Rn)< #d, то (С)<-1, иначе (С)<-0 |
Сравнение байта в РПД с константой и переход, если не равно | CJNE @Ri,#d,rel | 1011011i | 10 | 3 | 2 | (PC)<-(PC)+3, если ((Ri))≠#d, то (PC)<-(PC)+rel, если ((Ri))< #d, то (С)<-1, иначе (С)<-0 |
Длинный вызов подпрограммы | LCALL ad16 | 00010010 | 12 | 3 | 2 | (PC)<-(PC)+3, (SP)<-(SP)+1, ((SP))<-(PC0..7), (SP)<-(SP)+1, ((SP))<-(PC8..15), (PC)<-ad16 |
Абсолютный вызов подпрограммы в пределах страницы в 2 Кбайта | ACALL ad11 | a10a9a810001 | 6 | 2 | 2 | (PC)<-(PC)+2, (SP)<-(SP)+1, ((SP))<-(PC0..7), (SP)<-(SP)+1, ((SP))<-(PC8..15), (PC0..10)<-ad11 |
Возврат из подпрограммы | RET | 00100010 | 1 | 1 | 2 | (PC8..15)<-((SP)), (SP)<-(SP)-1, (PC0..7)<-((SP)), (SP)<-(SP)-1 |
Возврат из подпрограммы обработки прерывания | RETI | 00110010 | 1 | 1 | 2 | (PC8..15)<-((SP)), (SP)<-(SP)-1, (PC0..7)<-((SP)), (SP)<-(SP)-1 |
Холостая команда | N0P | 00000000 | 1 | 1 | 1 | (PC)<-(PC)+1 |
Примечание. Ассемблер допускает использование обобщенного имени команд JMP и CALL, которые в процессе трансляции заменяются оптимальными по формату командами перехода (AJMP, SJMP, LJMP) или вызова (ACALL, LCALL). |