Каждая архитектура микроконтроллера имеет собственную систему команд. Система команд микроконтроллера описывается на специальном языке символического кодирования. При этом каждая инструкция из системы команд представляется простым трех- или четырехбуквенным мнемоническим символом. Мнемонические символы ассоциируются с функциями команды и однозначно соответствуют действиям процессорного ядра при выполнении этой инструкции. Каждая архитектура имеет фиксированный набор символических команд, созданных и описанных его производителем. Некоторые символические обозначения, используемые в системе команд ядра AVR:
adc | add with carry | сложить с переносом, |
add | addition | сложить, |
and | and | операция И, |
clr | clear | очистить, |
dec | decrement | отнять 1, |
in | input | ввод, |
me | increment | прибавить 1, |
jmp | jump | переход |
ldi | load immediate | загрузить непосредственно, |
mul | multiply | умножить, |
or | or | операция ИЛИ, |
out | output | вывод, |
ret | return | возврат, |
sub | subtract | вычесть. |
Программа, записанная на языке символического кодирования, процессорным ядром не воспринимается. При вводе её в память программ осуществляется перевод каждой инструкции в двоичные коды. При этом каждая символическая команда заменяется её двоичным эквивалентом. Эту операцию можно сделать вручную, используя таблицы машинных кодов микроконтроллера или на компьютере по специальной программе - ассемблер. Ассемблер сравнивает каждую мнемоническую команду со списком команд и заменяет её двоичным кодом. Процесс преобразования программы с языка символического кодирования в двоичные коды называется компиляцией.