Ассемблер – язык программирования
должны программировать специфическую архитектуру центрального процессора. Это представление обычно определяется изготовителем аппаратных средств, и основано на сокращениях (мнемонике), которые помогают программисту помнить индивидуальные инструкции, регистры и т.д. Ассемблер является, таким образом, определяемым для определенной физической или действительной компьютерной архитектуры (в противоположность большинству языков высокого уровня, которые обычно портативны).
компьютеров, освободил программистов от запоминания числовых кодексов и вычисление адресов. Он когда-то широко использовались для всех видов программирования. Однако, к 1980-ым годам (1990-ые на маленьких компьютерах) его использование было в значительной степени вытеснено языками высокого уровня в поиске улучшенной программной производительности. Сегодня, ассемблер используется, прежде всего, для прямой манипуляции аппаратных средств, доступа к специализированным инструкциям процессора или обращения к критическим проблемам работы. Типичное использование - водители устройства, вложенные системы низкого уровня и системы реального времени.
Ассемблер используется, чтобы перевести утверждения ассемблера на целевой компьютерный машинный код. Ассемблер выполняет более или менее изоморфный перевод (непосредственная картография) из мнемонических утверждений в машинные инструкции и данные. Это отличает его от языков высокого уровня, на которых единственное утверждение вообще приводит ко многим машинным инструкциям. Используется компилятор, аналогичный ассемблеру, чтобы перевести языковые утверждения высокого уровня на машинный код; или переводчик выполняет утверждения непосредственно.
Большинство сложных ассемблеров предлагают дополнительные механизмы, чтобы облегчить развитие программы, управлять процессом собрания и отладкой помощи. В частности, самые современные ассемблеры (хотя многие уже были доступны больше 40 лет) включают макросредства, которые названы макроассемблерами.