Микроассемблер — это компьютерная программа , которая помогает подготовить микропрограмму , называемую прошивкой , для управления низкоуровневыми операциями компьютера во многом так же, как ассемблер помогает подготовить высокоуровневый код для процессора . Разница в том, что микропрограмма обычно разрабатывается только производителем процессора и работает в тесном контакте с аппаратным обеспечением компьютера . На микропрограммируемом компьютере микропрограмма реализует операции набора инструкций , в котором написана любая обычная программа (включая как прикладные программы, так и операционные системы ). Использование микропрограммы позволяет производителю исправлять определенные ошибки, включая обход ошибок проектирования оборудования, без изменения оборудования. Другим способом использования микропрограмм, созданных микроассемблером, является разрешение одному и тому же оборудованию выполнять различные наборы инструкций . После сборки микропрограмма загружается в хранилище управления, чтобы стать частью логики блока управления ЦП .
Некоторые микроассемблеры более обобщены и не нацелены на конкретную архитектуру компьютера. Например, благодаря использованию возможностей макроассемблеров, Digital Equipment Corporation использовала свой микроассемблёр MICRO2 для очень широкого спектра компьютерных архитектур и реализаций.
Если данная реализация компьютера поддерживает записываемую память управления , микроассемблер обычно предоставляется клиентам как средство написания индивидуального микрокода.
В процессе сборки микрокода полезно проверить микропрограмму с помощью инструментов эмуляции перед распространением. В настоящее время микрокодирование переживает возрождение, поскольку стало возможным исправлять и оптимизировать прошивку уже произведенных или проданных процессоров, чтобы адаптировать их к определенным операционным системам или исправить аппаратные ошибки. Однако для современных ЦП недоступен общеупотребимый микроассемблер для манипуляции микрокодом. Знание микрокода процессора обычно считается конфиденциальной информацией, поэтому сложно получить информацию о том, как его модифицировать.