Введение

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