Система команд насчитывает 113 базовых команд, объединенных в следующие группы.
1) Команды передачи данных:
а) между регистрами и памятью (включая стек), обмен содержимым источника и приемника;
б) ввода, вывода, табличного преобразования;
в) загрузка исполнительного адреса в РОНы, загрузка 4-байтового адресного объекта в регистры-указатели (начальный адрес сегмента и смещение в сегменте);
г) передача содержимого регистра F флагов в память, в стек и из стека.
2) Арифметические команды:
+ - × / двоичных чисел со знаком и без знаков (произведение и делимое представляются числами двойной длины),
коррекция десятичная + - упакованных двоично-десятичных чисел,
коррекция десятичная + - × / распакованных двоично-десятичных чисел.
3) Логические команды и сдвиги:
инверсия, конъюнкция, дизъюнкция, неравнозначность;
TEST - поразрядная конъюнкция операндов с установкой флагов но без занесения результатов;
сдвиги на 1 или заданное число разрядов (константа сдвига располагается в CL).
4) Команды передачи управления:
переходы, вызовы, возвраты - имеют две разновидности - внутрисегментные ("близкие") и межсегментные ("дальние").
При близких передачах загружается только IP, при дальних - IP и CS. Передачи управления могут быть прямыми (целевой адрес - в команде) или косвенными (целевой адрес вычисляется с использованием стандартных режимов адресации)
В 16 командах условных переходов проверяются отношения знаковых и беззнаковых чисел. Имеются 4 команды управления циклами, которые рассчитаны на передачу числа повторений цикла в регистре CX.
5) Команды обработки цепочек данных
Команды манипулируют последовательностями байт или слов в памяти. Время обработки цепочек этими командами гораздо меньше, чем соответствующей программной реализацией.