Основные элементы
Инструкции (утверждения) в ассемблере очень просты, в отличие от тех на языках высокого уровня. Каждая инструкция типично состоит из операции или opcode. Большинство инструкций обращается к единственной ценности или паре ценностей. Вообще, opcode - символическое название для единственной выполнимой инструкции языка программирования. Операнды могут быть любой немедленной ценностью (типично однобайтовые ценности, закодированные в инструкции непосредственно) или адресами данных, расположенных в другом месте в хранении. Это определено основной архитектурой процессора: ассемблер просто размышляет, как эта архитектура работает.
Большинство современных ассемблеров также поддерживает псевдооперации, которые являются директивами, которым повинуется ассемблер во времени ассемблирования вместо центрального процессора. (Например, pseudo-ops использовался бы, чтобы зарезервировать склады и произвольно установить их начальное содержание). Названия pseudo-ops часто начинают с точки с целью отличия их от машинных инструкций.
Некоторые ассемблеры также поддерживают псевдоинструкции, которые производят две или больше машинных инструкций.
Символические ассемблеры позволяют программистам связывать произвольные названия (лейблы или символы) с местоположениями памяти. Обычно, каждой константе и переменный дают название, таким образом, инструкции могут сослаться на те местоположения по имени, продвигая самодокументирующийся кодекс. В выполнимом кодексе название каждой подпрограммы связано с ее пунктом входа, таким образом, любые звонки в подпрограмму могут использовать ее название. В подпрограммах предназначению GOTO дают лейблы. Некоторые ассемблеры поддерживают местные символы, которые лексически отличны от нормальных символов (например, использование "10 $" как предназначение GOTO).
Большинство ассемблеров предоставляет гибкое управление символами, разрешая программистам управлять различным namespaces и автоматически вычислять погашения в пределах структур данных, и назначать лейблы, которые обращаются к буквальным ценностям или результату простых вычислений, выполненных ассемблером. Лейблы могут также использоваться, чтобы калибровать константы и переменные с перемещаемыми адресами.
Ассемблеры, как и большинство других компьютерных языков, позволяют комментариям быть добавленными к исходному тексту собрания, которые проигнорированы ассемблером. Хорошее использование комментариев еще более важно с кодексом собрания, чем с высокоуровневыми языками, поскольку значение последовательности инструкций тяжелее расшифровать от кодекса непосредственно.
Мудрое использование этих услуг может очень упростить проблемы кодирования и поддержания кодекса низкого уровня. Сырой исходный текст собрания, который произведен компиляторами или disassemblers — кодирует без любых комментариев, значащих символов, или определения данных — является весьма трудными для чтения.