Для упрощения процесса программирования на языке ассемблера используется мнемоническая запись команд микропроцессора (обычно в виде сокращений английских слов, описывающих действия в этой команде, например, команда jcxzявляется сокращением от словJump if СХ is Zero). Понятно, что запомнить такую мнемонику проще, чем байт Е3, соответствующий коду этой команды в программе. Формирование двоичных байтов, соответствующих тем или иным командам и данным, используемых в программе, осуществляется с помощью программы ассемблера.
Все команды микропроцессоров семейства i80х86 можно разбить на следующие группы:
1. Команды пересылки данных.
2. Арифметические команды.
3. Команды сдвига.
4. Логические команды.
5. Команды передачи управления.
6. Команды ввода/вывода.
7. Команды работы со строками.
8. Дополнительные команды.
Команды пересылки данных наиболее широко применяются в микропроцессорах и позволяют пересылать данные из/в регистры микропроцессора/ячейки памяти.
Арифметические команды позволяют проводить арифметические действия (сложение, вычитание, деление и умножение) над данными, представленными в различном формате. Для выполнения более сложных математических действий нужно или использовать математический сопроцессор, или написать соответствующие подпрограммы, использующие эти элементарные математические действия.
Команды сдвига оперируют с данными в виде набора битов и позволяют сдвигать или циклически вращать эти наборы битов, оставляя их взаимное расположение неизменным.
Логические команды так же рассматривают свои операнды в качестве набора битов и позволяют выполнять над ними различные логические (булевы) операции.
С помощью команд передачи управления можно изменять порядок выполнения команд в программе для организации ветвлений в программе, циклов, вызова подпрограмм и т.д.
Команды ввода/вывода осуществляют обмен информацией между программой и внешними устройствами.
Команды работы со строками могут выполнять ряд элементарных действий (пересылка, сравнение и т.п.) с массивами данных..