Ассе́мблер (от — собирать) — компилятор с языка ассемблера в команды машинного языка. Руссифицированное название - МНЕМОКОД. Предназначен для представления в удобном (мнемоническом) виде машинные коды команд. Пример команд на МНЕМОКОДЕ: СЛЖ - сложить, ВЧТ - вычесть, ПРХ - переход и другие. Обеспечивает наиболее эффективное использование ресурсов системы (процессор, память, периферия). Используется в "узких" местах - требуется большое быстродействие, ограничение по размеру оперативной памяти и другие. Ассемблером также называют иногда саму систему команд центрального процессора.
Под каждую архитектуру процессора и под каждую ОС или семейство ОС существует свой Ассемблер. Существуют также так называемые «кросс-ассемблеры», позволяющие на машинах с одной архитектурой (или в среде одной ОС) ассемблировать программы для другой целевой архитектуры или другой ОС, и получать исполняемый код в формате, пригодном к исполнению на целевой архитектуре или в среде целевой ОС.
Наиболее распространённые на сегодня архитектуры — x86 и PowerPC.
Наиболее известными ассемблерами для операционной системы DOS являлись Borland Turbo Assembler (TASM) и Microsoft Assembler (MASM). Также в своё время был популярен простой ассемблер A86.
Изначально они поддерживали лишь 16-битные команды (до появления процессора Intel 80386). Более поздние версии TASM и MASM поддерживают и 32-битные команды, а также все команды, введённые в более современных процессорах, и системы команд, специфических для конкретной архитектуры (такие как, например, MMX, SSE, 3DNow! и т. д.).
При появлении операционной системы Windows появилось расширение TASM, именуемое TASM32, позволившее создавать программы для выполнения в среде Windows. Последняя известная версия Tasm — пятая, включая различные к ней дополнения. Но официально развитие программы полностью остановлено.
Совсем по-другому обстоит дело с программой MASM. Она продолжает развиваться и по сей день, последние версии включены в наборы DDK. Но версия программы, направленная на создание программ для ДОС, также не развивается.
Для более удобного создания программ на ассемблере для Windows появился пакет, названный MASM32, автором которого является hutch (Стив Хатчессон). Более подробная информация доступна на сайте пакета MASM32 — www.masm32.com
Несколько иначе обстоит ситуация с ассемблерами для другой известной операционной системы Linux. В её состав входит компилятор gcc, включающий в себя ассемблер gas (GNU Assembler)… Но в нём используется AT&T синтаксис, в отличие от Intel-синтаксиса, используемого в большинстве остальных ассемблеров.
Также существует открытый проект ассемблера, версии которого доступны под различные операционные системы, и который позволяет получать объектные файлы для этих систем. Называется этот ассемблер NASM (Netwide Assembler).
FASM — молодой, но быстро развивающийся и завоёвывающий популярность ассемблер, распространяется с исходным кодом, есть версии для Linux и Windows, использует Intel-синтаксис. Достоинством является очень сильный макроязык, разнообразие форматов выходных файлов и несколько изменённый (в лучшую сторону, но несколько непривычный для «старой школы») синтаксис.
Существуют:
Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:
На данный момент существуют 2 компилятора производства Atmel. Вторая версия — попытка исправить не очень удачную первую.
Ассемблер | Асемблер | Assembler | Assemblersprog | Assembler_(Informatik) | Assembler | Asembla lingvo | Ensamblador | Assembly (ohjelmointikieli) | Programme assembleur | אסמבלר | Assembler | アセンブリ言語 | Programmeertaal Assembler | Assembler | Asembler | zbirnik (programski jezik) | Assembler | 汇编语言
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Ассемблер".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world