Статья 2316

Вместо выписывания двоичных цифр для каждой машинной команды программист писал короткое слово или аббревиатуру. Аналогичным образом адреса ячеек памяти, в которых хранились переменные, заменялись на имена, которые этим переменным присваивались. Числовые значения выражались в десятеричной системе. Для слов, обозначающих машинные команды, выбирали легко запоминающиеся слова, так называемые мнемоники.
Первое время перевод с языка ассемблера на машинный язык делали вручную. Технология здесь проста, одна таблица фиксирует соответствие между мнемониками и их двоичными кодами, эта таблица задается раз и навсегда, другую подобную таблицу можно строить по ходу перевода для имен переменных, появляющихся в программе. Ясно, что этот процесс легко автоматизировать, и скоро были написаны программы, названные ассемблерами, которые выполняли такой перевод.
Языком ассемблера пользуются и сейчас потому, что он дает возможность непосредственного доступа ко всем средствам ЭВМ. Программа, тщательно написанная на языке ассемблера, быстра и эффективна, и если требуется достичь компромисса между размером программы и скоростью ее выполнения, то, пользуясь языком ассемблера, программист может сам принимать соответствующие решения. Современные ассемблеры - это изощренные транслирующие программы. Однако по-прежнему соблюдается соответствие, грубо говоря, один к одному между строками языка ассемблера и командами машины, из-за чего программы получаются, как правило, весьма длинными и возможностей для ошибок здесь тьма. Структуры управления, доступные в большинстве языков ассемблера, примитивны. Что особенно важно, язык ассемблера остается ближе к машинному языку, чем к языку программиста. Алгоритмы приходится выражать в терминах того, что должна делать машина, а не в терминах, естественных для решаемой задачи.