Система команд процессора 5402 содержит 203 команды, условно разбитые на 4 группы.
Арифметические команды. Группа содержит 79 команд и включает в себя 6 подгрупп:
• Команды сложения (13 команд)
• Команды вычитания (13 команд)
• Команды умножения (10 команд)
• Команды умножения со сложением (14 команд)
• Команды умножения с вычитанием (8 команд)
• Команды с двойным операндом (32 бита) (6 команд)
• Проблемно-ориентированные команды (15 команд)
Логические команды. Группа содержит 24 команды и включает в себя 5 подгрупп:
• Команды И (AND) (5 команд)
• Команды ИЛИ (OR) (5 команд)
• Команды исключающее ИЛИ (XOR) (5 команд)
• Команды сравнения (5 команд)
• Команды сдвига (6 команд)
Команды управления программой. Группа содержит 36 команды и включает в себя 7 подгрупп:
• Команды перехода (6 команд)
• Команды вызова (5 команд)
• Команды прерывания (2 команды)
• Команды возврата (6 команд)
• Команды повторения (5 команд)
• Команды управления стеком (5 команд)
• Разные команды управления программой (7 команд)
Команды загрузки и сохранения. Группа содержит 64 команды и включает в себя 8 подгрупп:
• Команды загрузки (21 команда)
• Команды сохранения (14 команд)
• Команды условного сохранения (4 команды)
• Команды параллельной загрузки и сохранения (2 команды)
• Команды параллельной загрузки и умножения (4 команды)
• Команды параллельного сохранения и сложения/вычитания (2 команды)
• Команды параллельного сохранения и умножения (5 команд)
• Разные команды типа загрузки и сохранения (12 команд)
Есть ряд многоцикловых команд, которые при повторении выполняются за один такт (табл.4.6).
Таблица 4.6. Многоцикловые команды, выполняемые за один цикл при повторении
В системе команд имеется целый ряд команд, не допускающих повторения: команды с помещением результата в память, команды передачи управления, команды повторения, команды прерывания и некоторые другие команды. Отдельные команды одного операнда в памяти данных не могут быть повторены при использовании длинного смещения или абсолютного адреса (например, *ARn(lk), *+ARn(lk), *+ARn(lk)% и *(lk)).
В зависимости от длины команды и количества циклов выполнения все команды разбиты на 36 классов.