Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Микроассемблеры — это компьютерные программы, которые помогают подготовить микропрограммы, называемые прошивкой, для управления низкоуровневой работой компьютера, подобно тому, как ассемблеры помогают подготовить код более высокого уровня для процессора. Отличие заключается в том, что микропрограмма обычно разрабатывается только производителем процессора и тесно взаимодействует с компьютерным оборудованием. В микропрограммируемом компьютере микропрограмма реализует операции набора команд, на котором написаны любые обычные программы (включая прикладные программы и операционные системы). Использование микропрограммы позволяет производителю исправлять определенные ошибки, в том числе обходить ошибки в аппаратной конструкции, без изменения аппаратного обеспечения. Другой способ применения микропрограмм, генерируемых микроассемблером, — это возможность использования одного и того же оборудования для выполнения различных наборов инструкций. После сборки микропрограмма загружается в хранилище управления, становясь частью логики блока управления процессора. Некоторые микроассемблеры более универсальны и не предназначены для конкретной компьютерной архитектуры. Например, используя возможности, подобные макроассемблерам, Digital Equipment Corporation использовала свой микроассемблер MICRO2 для очень широкого спектра компьютерных архитектур и реализаций. Если конкретная аппаратная реализация поддерживает записываемое хранилище управления, микроассемблеры обычно предоставляются клиентам как средство для написания пользовательского микрокода. В процессе сборки микрокода полезно проверять микропрограмму с помощью средств эмуляции перед распространением. В настоящее время микрокодирование переживает возрождение, поскольку появилась возможность исправлять и оптимизировать прошивку уже изготовленных или проданных процессорных блоков для адаптации к конкретным операционным системам или исправления аппаратных ошибок. Однако общедоступный микроассемблер для современных процессоров, позволяющий манипулировать микрокодом, отсутствует. Знание микрокода процессора обычно считается конфиденциальной информацией, поэтому получить информацию о его модификации сложно.
A microassembler is a computer program that helps prepare a microprogram, called firmware, to control the low level operation of a computer in much the same way an assembler helps prepare higher level code for a processor. The difference is that the microprogram is usually only developed by the processor manufacturer and works intimately with the computer hardware. On a microprogrammed computer the microprogram implements the operations of the instruction set in which any normal program (including both application programs and operating systems) is written. The use of a microprogram allows the manufacturer to fix certain mistakes, including working around hardware design errors, without modifying the hardware. Another means of employing microassembler generated microprograms is in allowing the same hardware to run different instruction sets. After it is assembled, the microprogram is then loaded to a control store to become part of the logic of a CPU's control unit. Some microassemblers are more generalized and are not targeted at a single computer architecture. For example, through the use of macro assembler like capabilities, Digital Equipment Corporation used their MICRO2 microassembler for a very wide range of computer architectures and implementations. If a given computer implementation supports a writeable control store, the microassembler is usually provided to customers as a means of writing customized microcode. In the process of microcode assembly it is helpful to verify the microprogram with emulation tools before distribution. Nowadays, microcoding has experienced a revival, since it is possible to correct and optimize the firmware of processing units already manufactured or sold, in order to adapt to specific operating systems or to fix hardware bugs. However, a commonly usable microassembler for today's CPUs is not available to manipulate the microcode. Knowledge of a processor's microcode is usually considered proprietary information so it is difficult to obtain information about how to modify it.