Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Логическое И аккумулятора и регистра | ANL A, Rn | 01011rrr | (A) = (A) /\ (Rn) | |||
Логическое И аккумулятора и прямоадресуемого байта | ANL A, ad | (A) = (A) /\ (ad) | ||||
Логическое И аккумулятора и байта из РПД | ANL A, @Ri | 0101011i | (A) = (A) /\ ((Ri)) | |||
Логическое И аккумулятора и константы | ANL A, #d | (A) = (A) /\ #d | ||||
Логическое И прямоадресуемого байта и аккумулятора | ANL ad, A | (ad) = (ad) /\ (A) | ||||
Логическое И прямоадресуемого байта и константы | ANL ad, #d | (ad) = (ad) /\ #d | ||||
Логическое ИЛИ аккумулятора и регистра | ORL A, Rn | 01001rrr | (A) = (A) \/ (Rn) | |||
Логическое ИЛИ аккумулятора и прямоадресуемого байта | ORL A, ad | (A) = (A) \/ (ad) | ||||
Логическое ИЛИ аккумулятора и байта из РПД | ORL A, @Ri | 0100011i | (A) = (A) \/ ((Ri)) | |||
Логическое ИЛИ аккумулятора и константы | ORL A, #d | (A) = (A) \/ #d | ||||
Логическое ИЛИ прямоадресуемого байта и аккумулятора | ORL ad, A | (ad) = (ad) \/ (A) | ||||
Логическое ИЛИ прямоадресуемого байта и константы | ORL ad, #d | (ad) = (ad) \/ #d | ||||
Исключающее ИЛИ аккумулятора и регистра | XRL A, Rn | 01101rrr | (A) = (A) | |||
Исключающее ИЛИ аккумулятора и прямоадресуемого байта | XRL A, ad | (A) = (A) | ||||
Исключающее ИЛИ аккумулятора и байта из РПД | XRL A, @Ri | 0110011i | (A) = (A) | |||
Исключающее ИЛИ аккумулятора и константы | XRL A, #d | (A) = (A) | ||||
Исключающее ИЛИ прямоадресуемого байта и аккумулятора | XRL ad, A | (ad) = (ad) | ||||
Исключающее ИЛИ прямоадресуемого байта и константы | XRL ad, #d | (ad) = (ad) | ||||
Сброс аккумулятора | CLR A | (A) = 0 | ||||
Инверсия аккумулятора | CPL A | (A) = (A) | ||||
Сдвиг аккумулятора влево циклически | RL A | (An+1) = (An), n = 0? 6, (A0) = (A7) | ||||
Сдвиг аккумулятора влево через перенос | RLC A | (An+1) = (An), n = 0? 6, (A0) = (C), (C) = (A7) | ||||
Сдвиг аккумулятора вправо циклически | RR A | (A n) = (A n+1), n = 0? 6, (A7) = (A0) | ||||
Сдвиг аккумулятора вправо через перенос | RRC A | (A n) = (A n+1), n = 0? 6, (A7) = (C), (C) = (A0) | ||||
Обмен местами тетрад в аккумуляторе | SWAP A | (A0-3) <-> (A4-7) |
Группа команд операции с битами
Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Сброс переноса | CLR C | (C) = 0 | ||||
Сброс бита | CLR bit | (b) = 0 | ||||
Установка переноса | SETB C | (C) = 1 | ||||
Установка бита | SETB bit | (b) = 1 | ||||
Инверсия переноса | CPL C | (C) = (C) | ||||
Инверсия бита | CPL bit | (b) = (b) | ||||
Логическое И бита и переноса | ANL C, bit | (C) = (C) /\ (b) | ||||
Логическое И инверсии бита и переноса | ANL C, /bit | (C) = (C) /\ (b) | ||||
Логическое ИЛИ бита и переноса | ORL C, bit | (C) = (C) \/ (b) | ||||
Логическое ИЛИ инверсии бита и переноса | ORL C, /bit | (C) = (C) \/ (b) | ||||
Пересылка бита в перенос | MOV C, bit | (C) = (b) | ||||
Пересылка переноса в бит | MOV bit, C | (b) = (C) |
Группа команд передачи управления
Название команды | Мнемокод | КОП | Т | Б | Ц | Операция |
Длинный переход в полном объеме памяти в программ | LJMP ad16 | (PC) = ad16 | ||||
Абсолютный переход внутри страницы в 2 Кбайта | AJMP ad11 | a10a9a800001 | (PC) = (PC) + 2 (PC0-10) = ad11 | |||
Короткий относительный переход внутри страницы в 256 байт | SJMP rel | (PC) = (PC) + 2 (PC) = (PC) + rel | ||||
Косвенный относительный переход | JMP @A+DPTR | (PC) = (A) + (DPTR) | ||||
Переход, если аккумулятор равен нулю | JZ rel | (PC) = (PC) + 2, если (A) = 0, то (PC) = (PC) + rel | ||||
Переход, если аккумулятор не равен нулю | JNZ rel | (PC) = (PC) + 2, если (A)? 0, то (PC) = (PC) + rel | ||||
Переход, если перенос равен единице | JC rel | (PC) = (PC) + 2, если (C) = 1, то (PC) = (PC) + rel | ||||
Переход, если перенос равен нулю | JNC rel | (PC) = (PC) + 2, если (C) = 0, то (PC) = (PC) + rel | ||||
Переход, если бит равен единице | JB bit, rel | (PC) = (PC) + 3, если (b) = 1, то (PC) = (PC) + rel | ||||
Переход, если бит равен нулю | JNB bit, rel | (PC) = (PC) + 3, если (b) = 0, то (PC) = (PC) + rel | ||||
Переход, если бит установлен, с последующим сбросом бита | JBC bit, rel | (PC) = (PC) + 3, если (b) = 1, то (b) = 0 и (PC) = (PC) + rel | ||||
Декремент регистра и переход, если не нуль | DJNZ Rn, rel | 11011rrr | (PC) = (PC) + 2, (Rn) = (Rn) -1, если (Rn)? 0, то (PC) = (PC) + rel | |||
Декремент прямоадресуемого байта и переход, если не нуль | DJNZ ad, rel | (PC) = (PC) + 2, (ad) = (ad) -1, если (ad)? 0, то (PC) = (PC) + rel | ||||
Сравнение аккумулятора с прямоадресуемым байтом и переход, если не равно | CJNE A, ad, rel | (PC) = (PC) + 3, если (A)? (ad), то (PC) = (PC) + rel, если (A) < (ad), то (C) = 1, иначе (C) = 0 | ||||
Сравнение аккумулятора с константой и переход, если не равно | CJNE A, #d, rel | (PC) = (PC) + 3, если (A)? #d, то (PC) = (PC) + rel, если (A) < #d, то (C) = 1, иначе (C) = 0 | ||||
Сравнение регистра с константой и переход, если не равно | CJNE Rn, #d, rel | 10111rrr | (PC) = (PC) + 3, если (Rn)? #d, то (PC) = (PC) + rel, если (Rn) < #d, то (C) = 1, иначе (C) = 0 | |||
Сравнение байта в РПД с константой и переход, если не равно | CJNE @Ri, #d, rel | 1011011i | (PC) = (PC) + 3, если ((Ri))? #d, то (PC) = (PC) + rel, если ((Ri)) < #d, то (C) = 1, иначе (C) = 0 | |||
Длинный вызов подпрограммы | LCALL ad16 | (PC) = (PC) + 3, (SP) = (SP) + 1, ((SP)) = (PC0-7), (SP) = (SP) + 1, ((SP)) = (PC8-15), (PC) = ad16 | ||||
Абсолютный вызов подпрограммы в пределах страницы в 2 Кбайта | ACALL ad11 | a10a9a810001 | (PC) = (PC) + 2, (SP) = (SP) + 1, ((SP)) = (PC0-7), (SP) = (SP) + 1, ((SP)) = (PC8-15), (PC0-10) = ad11 | |||
Возврат из подпрограммы | RET | (PC8-15) = ((SP)), (SP) = (SP) - 1, (PC0-7) = ((SP)), (SP) = (SP) - 1 | ||||
Возврат из подпрограммы обработки прерывания | RETI | (PC8-15) = ((SP)), (SP) = (SP) - 1, (PC0-7) = ((SP)), (SP) = (SP) - 1 | ||||
Холостая команда | NOP | (PC) = (PC) + 1 |