(812) 466-57-84 /
Новости Продукция Номенклатура Статьи О фирме Контакты Вакансии
Архитектура серий С167 и ST10x167
Применение контроллеров
Распределенные системы управления
Проектирование распределенных систем управления
О стандарте PC/104
Изделия в стандарте PC/104 для жестких условий
Одноплатные компьютеры-контроллеры в стандарте PC/104
CAN-интерфейс
Микропроцессорные контроллеры CS, M, 167х
Новые 16-разрядные DSP-микроконтроллеры
Краткое описание микроконтроллера C16x
Краткая система команд C16x/ST10
Полная система команд C16x/ST10x
Дополнительные команды для XC16x и ST10F269
Параллельные порты микроконтроллеров C167 и ST10F269
Блоки формирования импульсных сигналов C16x/ST10x
Формирование ШИМ с повышенным разрешением
Универсальные блоки таймеров
Интерфейс АТ96 (Евростандарт)
Подключение контроллеров
Процессоры цифровой обработки сигналов
Архитектура микроконтроллера TMS320C32
Архитектура микроконтроллера TMS320C33

Краткая система команд C16x/ST10

Краткое описание команд

Обозначения

Rwi индексные регистры (R0, R1, ..., R3)
Rw 2-байтовый регистр общего назначения (РОН) (R0, R1, ..., R15).
Rb
(RL0, RH0,..., RL7, RH7)
байтовый регистр РОН
reg Регистры SFR или РОН (в случае байтовых операций с SFR, доступ через “reg” возможен только к младшему байту)
mem прямая адресация в памяти слова или байта
[...] косвенная адресация в памяти слова или байта (любой 2-байтовый РОН может использоваться как косвенный указатель адреса, кроме арифметических, логических и команд сравнения, в которых разрешены только R0 - R3)
bitaddr указатель бита в битадресуемом пространстве памяти
bitoff указатель слова в битадресуемом пространстве памяти
#datax непосредственные данные (число значащих бит, которые могут указываться пользователем, представлены соответствующим добавлением “x”)
#mask8 непосредственная 8-битовая маска, используемая для изменения поля бита
Операции умножения и деления
MDL, MDH регистры операндов источника и/или приемника команд умножения и деления
MD 4-байтовый регистр, состоящий из регистров MDL и MDH. Обращение может производиться только через MDL и/или MDH.
Расширенные команды
Команды EXTxx изменяют стандартную схему адресации с DPP:
#pag10 непосредственный 10-битовый адрес страницы
#seg8 непосредственный 8-битовый адрес сегмента
#irang2 количество операций, на которые распространяются условия изменения стандартной схемы адресации
Режимы адресации команд перехода
Caddr непосредственный 16-битовый адрес перехода (изменяет Указатель Команд – IP)
Seg непосредственный 8-битовый адрес сегмента
Rel знаковое 8-битовое смещение по отношению к Указателю Команды (IP)
#trap7 непосредственный 7-битовый номер программного или аппаратного прерывания
Коды условий перехода
сс: символически обозначенные коды условий
cc_UC безусловно
cc_Z если результат равен нулю
cc_NZ если результат не равен нулю
cc_V если произошло переполнение во время выполнения операции
cc_NV если не произошло переполнения во время выполнения операции
cc_N если результат отрицательный
cc_NN если результат не отрицательный
cc_C если произошел перенос во время выполнения операции
cc_NC если не произошел перенос во время выполнения операции
cc_EQ если сравниваемые операнды эквивалентны
cc_NE если сравниваемые операнды не эквивалентны
cc_ULT меньше (без знака)
cc_ULE меньше или равно (без знака)
cc_UGE больше или равно (без знака)
cc_UGT больше (без знака)
cc_SLT меньше (со знаком)
cc_SLE меньше или равно (со знаком)
cc_SGE больше или равно (со знаком)
cc_SGT больше (со знаком)
cc_NET не равно и не конец таблиц

Краткое описание команд

Арифметические операции

мнемокод команды Операнды размер описание команды
ADD Rw, Rw 2 Сложение регистров РОН (2 байта)
ADD Rw, [Rwi ] 2 Сложение регистра РОН (2 байта) с содержимым ячейки памяти
ADD Rw, [Rwi +] 2 Сложение регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением указателя памяти на 2
ADD Rw, #data3 2 Сложение регистра РОН (2 байта) с непосредственным операндом размером 3 бита
ADD reg, #data16 2 Сложение регистра (2 байта) с непосредственным операндом размером 16 бит
ADD reg, mem 4 Сложение регистра (2 байта) с содержимым ячейки памяти
ADD mem, reg 4 Сложение содержимого ячейки памяти (2 байта) с регистром
ADDB Rb, Rb 4 Сложение регистров РОН (1 байт)
ADDB Rb, [Rwi ] 2 Сложение регистра РОН (1 байт) с содержимым ячейки памяти
ADDB Rb, [Rwi +] 2 Сложение регистра РОН (1 байт) с содержимым ячейки памяти с последующим увеличением указателя памяти на 1
ADDB Rb, #data3 2 Сложение регистра РОН (1 байт) с непосредственным операндом (3 бита)
ADDB reg, #data8 2 Сложение регистра (1 байт) с непосредственным операндом размером (8 бит)
ADDB reg, mem 4 Сложение регистра (1 байт) с содержимым ячейки памяти
ADDB mem, reg 4 Сложение содержимого ячейки памяти (1 байт) с регистром
ADDC Rw, Rw 4 Сложение регистров РОН (2 байта) с флагом переноса CF
ADDC Rw, [Rwi ] 2 Сложение регистра РОН (2 байта) с содержимым ячейки памяти и с флагом переноса CF
ADDC Rw, [Rwi +] 2 Сложение регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением указателя памяти на 2 и с флагом переноса CF
ADDC Rw, #data3 2 Сложение регистра РОН (2 байта) с непосредственным операндом (3 бита) и с флагом переноса CF
ADDC reg, #data16 4 Сложение регистра (2 байта) с непосредственным операндом (16 бит) ис флагом переноса CF
ADDC reg, mem 4 Сложение регистра (2 байта) с содержимым ячейки памяти и с флагом переноса CF
ADDC mem, reg 4 Сложение содержимого ячейки памяти (2 байта) с регистром и с флагом переноса CF
ADDBC Rb, Rb 2 Сложение регистра РОН (1 байт) с регистром РОН (1 байт) и флагом переноса CF
ADDBC Rb, [Rw] 2 Сложение регистра РОН (1 байт) с содержимым ячейки памяти и с флагом переноса CF
ADDBC Rb, [Rw +] 2 Сложение регистра РОН (1 байт) с содержимым ячейки памяти и с флагом переноса CF с последующим увеличением указателя памяти на 1
ADDBC Rb, #data3 2 Сложение регистра РОН (1 байт) с непосредственным операндом (3 бита) и флагом переноса CF
ADDBC reg, #data8 4 Сложение регистра (1 байт) с непосредственным операндом (8 бит) и с флагом переноса CF
ADDBC reg, mem 4 Сложение регистра (1 байт) с содержимым ячейки памяти и с флагом переноса CF
ADDBC mem, reg 4 Сложение содержимого ячейки памяти (1 байт) с регистром и с флагом переноса CF
SUB Rw, Rw 2 Вычитание регистров РОН (2 байта)
SUB Rw, [Rw] 2 Вычитание из регистра РОН (2 байта) содержимого ячейки памяти
SUB Rw, [Rw +] 2 Вычитание из регистра РОН (2 байта) содержимого ячейки памяти с последующим увеличением указателя памяти на 2
SUB Rw, #data3 2 Вычитание из регистра РОН (2 байта) непосредственного операнда (3 бита)
SUB reg, #data16 4 Вычитание из регистра (2 байта) непосредственного операнда (16 бит)
SUB reg, mem 4 Вычитание из регистра SFR (2 байта) содержимого ячейки памяти
SUB mem, reg 4 Вычитание из содержимого ячейки памяти регистра (2 байта)
SUBB Rb, Rb 2 Вычитание регистров РОН (1 байт)
SUBB Rb, [Rw] 2 Вычитание из регистра РОН (1 байт) содержимого ячейки памяти
SUBB Rb, [Rw +] 2 Вычитание из регистра РОН (1 байт) содержимого ячейки памяти с последующим увеличением указателя памяти на 1
SUBB Rb, #data3 2 Вычитание из регистра РОН (1 байт) непосредственного операнда (3 бита)
SUBB reg, #data8 4 Вычитание из регистра (1 байт) непосредственного операнда (8 бит)
SUBB reg, mem 4 Вычитание из регистра (1 байт) содержимого ячейки памяти
SUBB mem, reg 2 Вычитание из содержимого ячейки памяти регистра (1 байт)
SUBC Rw, Rw 2 Вычитание из регистра РОН (2 байта) регистра РОН (2 байта) и флага переноса CF
SUBC Rw, [Rw] 2 Вычитание из регистра РОН (2 байта) содержимого ячейки памяти и флага переноса CF
SUBC Rw, [Rw +] 2 Вычитание из регистра РОН (2 байта) содержимого ячейки памяти и флага переноса CF с последующим увеличением указателя памяти на 2
SUBC Rw, #data3 2 Вычитание из регистра РОН (2 байта) непосредственного операнда (3 бита) и флага переноса CF
SUBC reg, #data16 4 Вычитание из регистра РОН (2 байта) непосредственного операнда (16 бит) и флага переноса CF
SUBC reg, mem 4 Вычитание из регистра (2 байта) содержимого ячейки памяти и флага переноса CF
SUBC mem, reg 4 Вычитание из содержимого ячейки памяти (2 байта) регистра и флага переноса CF
SUBCB Rb, Rb 2 Вычитание из регистра РОН (1 байт) регистра РОН (1 байт) и флага переноса CF
SUBCB Rb, [Rwi ] 2 Вычитание из регистра РОН (1 байт) содержимого ячейки памяти и флага переноса CF
SUBCB Rb, [Rwi +] 2 Вычитание из регистра РОН (1 байт) содержимого ячейки памяти и флага переноса CF с последующим увеличением указателя памяти на 1
SUBCB Rb, #data3 2 Вычитание из регистра РОН (1 байт) непосредственного операнда (3 бита) и флага переноса CF
SUBCB reg, #data8 4 Вычитание из регистра (1 байт) непосредственного операнда (16 бит) и флага переноса CF
SUBCB reg, mem 4 Вычитание из регистра (1 байт) содержимого ячейки памяти и флага переноса CF
SUBCB mem, reg 4 Вычитание из содержимого ячейки памяти (1 байт) регистра и флага переноса CF
MUL Rw, Rw 2 Умножение регистров РОН (2 байта) со знаком
MULU Rw, Rw 2 Умножение регистров РОН (2 байта) без знака
DIV Rw 2 Деление регистра MDL (2 байта) на РОН (2 байта) со знаком
DIVL Rw 2 Деление регистра MD (4 байта) на РОН (2 байта) со знаком
DIVLU Rw 2 Деление регистра MD (4 байта) на РОН (2 байта) без знака
DIVU Rw 2 Деление регистра MDL (2 байта) на РОН (2 байта) без знака
CPL Rw 2 Арифметическое умножение регистра РОН (2байта) на (-1)
CPLB Rb 2 Арифметическое умножение регистра РОН (1байт) на (-1)
NEG Rw 2 Изменение знака в регистре РОН размером 2 байта
NEGB Rb 2 Изменение знака в регистре РОН (1 байт)

Логические операции

мнемокод команды Операнды размер описание команды
AND Rw, Rw 2 Логическое AND регистров РОН (2 байта)
AND Rw, [Rwi ] 2 Логическое AND регистра РОН (2 байта) с содержимым ячейки памяти
AND Rw, [Rwi +] 2 Логическое AND регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением указателя памяти на 2
AND Rw, #data3 2 Логическое AND регистра РОН (2 байта) с непосредственным операндом (3 бита)
AND reg, #data16 4 Логическое AND регистра (2 байта) с непосредственным операндом (16 бит)
AND reg, mem 4 Логическое AND регистра (2 байта) с содержимым ячейки памяти
AND mem, reg 4 Логическое AND содержимого ячейки памяти (2 байта) с регистром
ANDB Rb, Rb 2 Логическое AND регистров РОН (1 байт)
ANDB Rb, [Rwi ] 2 Логическое AND регистра РОН (1 байт) с содержимым ячейки памяти
ANDB Rb, [Rwi +] 2 Логическое AND регистра РОН (1 байт) с содержимым ячейки памяти с последующим увеличением указателя памяти на 1
ANDB Rb, #data3 2 Логическое AND регистра РОН (1 байт) с непосредственным операндом (3 бита)
ANDB reg, #data8 4 Логическое AND регистра (1 байт) с непосредственным операндом (8 бит)
ANDB reg, mem 4 Логическое AND регистра (1 байт) с содержимым ячейки памяти
ANDB mem, reg 4 Логическое AND содержимого ячейки памяти (1 байт) с регистром
OR Rw, Rw 2 Логическое OR регистров РОН (2 байта)
OR Rw, [Rwi ] 2 Логическое OR регистра РОН (2 байта) с содержимым ячейки памяти
OR Rw, [Rwi +] 2 Логическое OR регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением указателя памяти на 2
OR Rw, #data3 2 Логическое OR регистра РОН (2 байта) с непосредственным операндом (3 бита)
OR reg, #data16 4 Логическое OR регистра (2 байта) с непосредственным операндом (16 бит)
OR reg, mem 4 Логическое OR регистра (2 байта) с содержимым ячейки памяти
OR mem, reg 4 Логическое OR содержимого ячейки памяти (2 байта) с регистром
ORB Rb, Rb 2 Логическое OR регистров РОН (1 байт)
ORB Rb, [Rwi ] 2 Логическое OR регистра РОН (1 байт) с содержимым ячейки памяти
ORB Rb, [Rwi +] 2 Логическое OR регистра РОН (1 байт) с содержимым ячейки памяти с последующим увеличением указателя памяти на 1
ORB Rb, #data3 2 Логическое OR регистра РОН (1 байт) с непосредственным операндом (3 бита)
ORB reg, #data8 4 Логическое OR регистра (1 байт) с непосредственным операндом (8 бит)
ORB reg, mem 4 Логическое OR регистра (1 байт) с содержимым ячейки памяти
ORB mem, reg 4 Логическое OR содержимого ячейки памяти (1 байт) с регистром
XOR Rw, Rw 2 Логическое XOR регистров РОН (2 байта)
XOR Rw, [Rwi ] 2 Логическое XOR регистра РОН (2 байта) с содержимым ячейки памяти
XOR Rw, [Rwi +] 2 Логическое XOR регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением указателя памяти на 2
XOR Rw, #data3 2 Логическое XOR регистра РОН (2 байта) с непосредственным операндом (3 бита)
XOR reg, #data16 4 Логическое XOR регистра (2 байта) с непосредственным операндом (16 б/tdит)
XOR reg, mem 4 Логическое XOR регистра (2 байта) с содержимым ячейки памяти
XOR mem, reg 4 Логическое XOR содержимого ячейки памяти (2 байта) с регистром
XORB Rb, Rb 2 Логическое XOR регистров РОН (1 байт)
XORB Rb, [Rwi ] 2 Логическое XOR регистра РОН (1 байт) с содержимым ячейки памяти
XORB Rb, [Rwi +] 2 Логическое XOR регистра РОН (1 байт) с содержимым ячейки памяти с последующим увеличением указателя памяти на 1
XORB Rb, #data3 2 Логическое XOR регистра РОН (1 байт) с непосредственным операндом (3 бита)
XORB reg, #data8 4 Логическое XOR регистра (1 байт) с непосредственным операндом (8 бит)
XORB reg, mem 4 Логическое XOR регистра (1 байт) с содержимым ячейки памяти
XORB mem, reg 4 Логическое XOR содержимого ячейки памяти (1 байт) с регистром

Логические операции с битами

мнемокод команды Операнды размер описание команды
BCLR bitaddr 2 Сброс бита
BSET bitaddr 2 Установка бита
BMOV bitaddr, bitaddr 4 Копирование бита
BMOVN bitaddr, bitaddr 4 Копирование бита и инвертирование второго операнда
BAND bitaddr, bitaddr 4 Логическое AND битов
BOR bitaddr, bitaddr 4 Логическое OR битов
BXOR bitaddr, bitaddr 4 Логическое XOR битов
BCMP bitaddr, bitaddr 4 Сравнение битов
BFLDH bitoff, #mask8,#data8 4 Побитовая модификация маскированных битов старшего байта битадресуемого слова в памяти с непосредственным операндом
BFLDL bitoff, #mask8, #data8 4 Побитовая модификация маскированных битов младшего байта битадресуемого слова в памяти с непосредственным операндом

Команды сравнения и управления циклом

мнемокод команды Операнды размер описание команды
CMP Rw, Rw 2 Сравнение регистров РОН (2 байта)
CMP Rw, [Rwi ] 2 Сравнение регистра РОН (2 байта) с содержимым ячейки памяти
CMP Rw, [Rwi +] 2 Сравнение регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением указателя памяти на 2
CMP Rw, #data3 2 Сравнение регистра РОН (2 байта) с непосредственным операндом (3 бита)
CMP reg, #data16 4 Сравнение регистра РОН (2 байта) с непосредственным операндом (16 бит)
CMP reg, mem 4 Сравнение регистра SFR (2 байта) с содержимым ячейки памяти
CMPB Rb, Rb 2 Сравнение регистров РОН (1 байт)
CMPB Rb, [Rwi ] 2 Сравнение регистра РОН (1 байт) с содержимым ячейки памяти
CMPB Rb, [Rwi +] 2 Сравнение регистра РОН (1 байт) с содержимым ячейки памяти с последующим увеличением указателя памяти на 1
CMPB Rb, #data3 2 Сравнение регистра РОН (1 байт) с непосредственным операндом (3 бита)
CMPB reg, #data8 4 Сравнение регистра РОН (1 байт) с непосредственным операндом (8 бит)
CMPB reg, mem 4 Сравнение регистра SFR (1 байт) с содержимым ячейки памяти
CMPD1 Rw, #data4 2 Сравнение регистра РОН (2 байта) с непосредственным значением (4 бита) с последующим уменьшением значения РОН на 1
CMPD1 Rw, #data16 4 Сравнение регистра РОН (2 байта) с непосредственным значением (16 бит) с последующим уменьшением значения РОН на 1
CMPD1 Rw, mem 4 Сравнение регистра РОН (2 байта) с содержимым ячейки памяти с последующим уменьшением значения РОН на 1
CMPD2 Rw, #data4 2 Сравнение регистра РОН (2 байта) с непосредственным значением (4 бита) с последующим уменьшением значения РОН на 2
CMPD2 Rw, #data16 4 Сравнение регистра РОН (2 байта) с непосредственным значением (16 бит) с последующим уменьшением значения РОН на 2
CMPD2 Rw, mem 4 Сравнение регистра РОН (2 байта) с содержимым ячейки памяти с последующим уменьшением значения РОН на 2
CMPI1 Rw, #data4 2 Сравнение регистра РОН (2 байта) с непосредственным значением (4 бита) с последующим увеличением значения РОН на 1
CMPI1 Rw, #data16 4 Сравнение регистра РОН (2 байта) с непосредственным значением (16 бит) с последующим увеличением значения РОН на 1
CMPI1 Rw, mem 4 Сравнение регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением значения РОН на 1
CMPI2 Rw, #data4 2 Сравнение регистра РОН (2 байта) с непосредственным значением (4 бита) с последующим увеличением значения РОН на 2
CMPI2 Rw, #data16 4 Сравнение регистра РОН (2 байта) с непосредственным значением (16 бит) с последующим увеличением значения РОН на 2
CMPI2 Rw, mem 4 Сравнение регистра РОН (2 байта) с содержимым ячейки памяти с последующим увеличением значения РОН на 2

Команды сдвига

мнемокод команды Операнды размер описание команды
SHL Rw, Rw 2 Логический сдвиг влево содержимого регистра РОН (2 байта) на количество разрядов, указанное в РОН
SHL Rw, #data4 2 Логически сдвиг влево содержимого регистра РОН (2 байта) на количество разрядов, указанное в непосредственном операнде (4 бита)
SHR Rw, Rw 2 Логический сдвиг вправо содержимого регистра РОН (2 байта) на количество разрядов, указанное в РОН
SHR Rw, #data4 2 Логический сдвиг вправо содержимого регистра РОН (2 байта) на на количество разрядов, указанное в непосредственном операнде (4 бита)
ROL Rw, Rw 2 Циклический сдвиг влево содержимого регистра РОН (2 байта) на количество разрядов, указанное в РОН
ROL Rw, #data4 2 Циклический сдвиг влево содержимого регистра РОН (2 байта) на количество разрядов, указанное в непосредственном операнде (4 бита)
ROR Rw, Rw 2 Циклический сдвиг вправо содержимого регистра РОН (2 байта) на количество разрядов, указанное в РОН
ROR Rw, #data4 2 Циклический сдвиг вправо содержимым регистра РОН (2 байта) на количество разрядов, указанное в непосредственном операнде (4 бита)
ASHR Rw, Rw 2 Арифметический сдвиг вправо содержимого регистра РОН (2 байта) на количество разрядов, указанное в РОН
ASHR Rw, #data4 2 Арифметический сдвиг вправо содержимым регистра РОН (2 байта) на количество разрядов, указанное в непосредственном операнде (4 бита)

Пересылка данных

мнемокод команды Операнды размер описание команды
MOV Rw, Rw 2 Копирование в регистр РОН (2 байта) содержимого регистра РОН (2 байта)
MOV Rw, #data4 2 Копирование в регистр РОН (2 байта) непосредственного значения (4 бита)
MOV reg, #data16 4 Копирование в регистр (2 байта) непосредственного значения (16 бит)
MOV Rw, [Rw] 2 Копирование в регистр РОН (2 байта) содержимого ячейки памяти
MOV Rw, [Rw +] 2 Копирование в регистр РОН (2 байта) содержимого ячейки памяти с последующим увеличением указателя памяти на 2
MOV [Rw], Rw 2 Копирование в ячейку памяти содержимого регистра РОН (2 байта)
MOV [-Rw], Rw 2 Копирование в ячейку памяти содержимого регистра РОН (2 байта) с последующим уменьшением указателя памяти на 2
MOV [Rw], [Rw] 2 Копирование в ячейку памяти (2 байта) содержимого ячейки памяти (2 байта)
MOV [Rw +], [Rw] 2 Копирование в ячейку памяти (2 байта) содержимого ячейки памяти (2 байта) с последующим увеличением указателя памяти на 2
MOV [Rw], [Rw +] 2 Копирование содержимого ячейки памяти (2 байта) в ячейку памяти (2 байта) с последующим увеличением указателя памяти на 2
MOV Rw,[Rw+#data16] 4 Копирование в регистр РОН (2 байта) содержимого ячейки памяти (2 байта)
MOV [Rw +#data16],Rw 4 Копирование в ячейку памяти содержимого регистра РОН (2 байта)
MOV [Rw], mem 4 Копирование содержимого ячейки памяти (2 байта) в ячейку памяти (2 байта)
MOV mem, [Rw] 4 Копирование содержимого ячейки памяти (2 байта) в ячейку памяти (2 байта)
MOV reg, mem 4 Копирование в регистр (2 байта) содержимого ячейки памяти (2 байта)
MOV mem, reg 4 Копирование в ячейку памяти значения регистра (2 байта)
MOVB Rb, Rb 2 Копирование в регистр РОН (1 байт) значения регистра РОН (1 байт)
MOVB Rb, #data4 2 Копирование в регистр РОН (1 байт) непосредственного значения (4 бита)
MOVB reg, #data8 4 Копирование в регистр (1 байт) непосредственного значения (8 бит)
MOVB Rb, [Rw] 2 Копирование в регистр РОН (1 байт) содержимого ячейки памяти
MOVB Rb, [Rw +] 2 Копирование в регистр РОН (1 байт) содержимого ячейки памяти с последующим увеличением указателя памяти на 1
MOVB [Rw], Rb 2 Копирование в ячейку памяти содержимого регистра РОН (1 байт)
MOVB [-Rw], Rb 2 Копирование в ячейку памяти содержимого регистра РОН (1 байт) с последующим уменьшением указателя памяти на 1
MOVB [Rw], [Rw] 2 Копирование в ячейку памяти содержимого ячейки памяти (1 байт)
MOVB [Rw +], [Rw] 2 Копирование в ячейку памяти (1 байт) содержимого ячейки памяти (1 байт) с последующим увеличением указателя памяти на 1
MOVB [Rw], [Rw +] 2 Копирование в ячейку памяти (1 байт) содержимого ячейки памяти (1 байт) с последующим увеличением указателя памяти на 1
MOVB Rb,[Rw+#data16] 4 Копирование в регистр РОН (1 байт) содержимого ячейки памяти (1 байт)
MOVB [Rw +#data16],Rb 4 Копирование в ячейку памяти (1 байт) значения регистра РОН (1 байт)
MOVB [Rw], mem 4 Копирование в ячейку памяти (1 байт) содержимого ячейки памяти (1 байт)
MOVB mem, [Rw] 4 Копирование в ячейку памяти (1 байт) содержимого ячейки памяти (1 байт)
MOVB reg, mem 4 Копирование в регистр (1 байт) содержимого ячейки памяти (1 байт)
MOVB mem, reg 4 Копирование в ячейку памяти (1 байт) значения регистра (1 байт)
MOVBS Rw, Rb 2 Копирование в регистр РОН (2 байта) значения регистра РОН (1 байт) со знаковым расширением
MOVBS reg, mem 4 Копирование в регистр (2 байта) содержимого ячейки памяти (1 байт) со знаковым расширением
MOVBS mem, reg 4 Копирование в ячейку памяти (2 байта) содержимого регистра (1 байт) со знаковым расширением
MOVBZ Rw, Rb 2 Копирование в регистр РОН (2 байт) значения регистра РОН (1 байта) с расширением нулями
MOVBZ reg, mem 4 Копирование в регистр (2 байта) содержимого ячейки памяти (1 байт) с расширением нулями
MOVBZ mem, reg 4 Копирование в ячейку памяти (2 байта) значения регистра РОН (1 байт) с расширением нулями

Операции перехода и вызова

мнемокод команды Операнды размер описание команды
JMPA cc, caddr 4 Абсолютный переход по условию
JMPI cc, [Rw] 2 Условный переход по адресу, находящемуся в регистре РОН
JMPR cc, rel 2 Условный переход по смещению относительно данной инструкции
JMPS seg, caddr 4 Межсегментный переход
JB bitaddr, rel 4 Переход относительно данной инструкции, если бит установлен
JBC bitaddr, rel 4 Переход относительно данной инструкции и сброс бита, если бит установлен
JNB bitaddr, rel 4 Переход относительно данной инструкции, если бит сброшен
JNBS bitaddr, rel 4 Переход относительно данной инструкции и установка бита, если бит сброшен
CALLA cc, caddr 2 Вызов подпрограммы по условию
CALLI cc, [Rw] 2 Вызов подпрограммы по условию, адрес подпрограммы — в регистре РОН
CALLR rel 2 Безусловный вызов подпрограммы по смещению относительно данной инструкции
CALLS seg, caddr 4 Межсегментный вызов подпрограммы
PCALL reg, caddr 4 Выгрузить на стек значение регистра и перейти к подпрограмме
TRAP #trap7 4 Вызов подпрограммы прерывания

Операции возврата

мнемокод команды Операнды размер описание команды
RET   2 Возврат из подпрограммы
RETS   2 Возврат из подпрограммы по межсегментному вызову
RETP reg 2 Возврат из подпрограммы и запись в регистр значения, снятого со стека
RETI   2 Возврат из прерывания

Операции с системным стеком

мнемокод команды Операнды размер описание команды
POP reg 2 Снять значение со стека и поместить в регистр
PUSH reg 2 Выгрузить на стек значение регистра
SCXT reg, #data16 4 Выгрузить на стек значение регистра и загрузить в регистр непосредственное значение (16 бит)
SCXT reg, mem 4 Выгрузить на стек значение регистра и загрузить в регистр значение из ячейки памяти

Управление системой

мнемокод команды Операнды размер описание команды
SRST   4 Программный сброс контроллера
IDLE   4 Режим пониженного энергопотребления микроконтроллера, при котором работает его внутренняя периферия
PWRDN   4 Полная остановка микроконтроллера, в том числе внутренней периферии
SRVWDT   4 Сброс Watchdog таймера
DISWDT   4 Запрещение работы Watchdog таймера
EINIT   4 Конец инициализации

Команда нормализации

мнемокод команды Операнды размер описание команды
PRIOR Rw, Rw 2 Возвращает номер первого установленного бита

Вспомогательные операции

мнемокод команды Операнды размер описание команды
NOP   2 Пустая операция

Расширенные команды
(не поддерживаются микроконтроллерами серии 8xС166)

мнемокод команды Операнды размер описание команды
ATOMIC #irang2 2 Запрещение PEC-прерываний и прерываний класса А на количество инструкций, указанных в операнде
EXTR #irang2 2 Запрещение PEC-прерываний и прерываний класса А, переадресация обращения вместо регистров SFR к регистрам ESFR на количество инструкций, указанных в операнде
EXTP Rw, #irang2 2 Запрещение PEC-прерываний и прерываний класса А, переадресация обращения вместо стандартной DPP-схемы к странице, указанной в первом операнде, на количество инструкций, указанных во втором операнде
EXTP #pag10, #irang2 4 Запрещение PEC-прерываний и прерываний класса А, переадресация обращения вместо стандартной DPP-схемы к странице, указанной в первом операнде, на количество инструкций, указанных во втором операнде
EXTPR Rw, #data2 2 Объединение возможностей инструкций EXTP и EXTR
EXTPR #pag10, #irang2 4 Объединение возможностей инструкций EXTP и EXTR
EXTS Rw, #irang2 2 Запрещение PEC-прерываний и прерываний класса А, переадресация обращения вместо стандартной DPP-схемы к сегменту, указанному в первом операнде, на количество инструкций, указанных во втором операнде
EXTS #seg8, #irang2 4 Запрещение PEC-прерываний и прерываний класса А, переадресация обращения вместо стандартной DPP-схемы к сегменту, указанному в первом операнде, на количество инструкций, указанных во втором операнде
EXTSR Rw, #irang2 2 Объединение возможностей инструкций EXTS и EXTR
EXTSR #seg8, #irang2 4 Объединение возможностей инструкций EXTS и EXTR