Основными элементами ассемблера являются директивы ассемблера и команды МП.
Команды описывают действия МП в процессе выполнения программы и всегда порождают машинный код в памяти системы.
Директивы служат для сообщения информации, необходимой в процессе трансляции программы. Они обеспечивают резервирование ячеек памяти, назначение имен, распределение сегментных регистров и т.д. Особенностью директив является то, что они, как правило, не порождают машинный код в памяти системы и поэтому часто называются псевдокомандами.
Программа на ассемблере представляет собой совокупность строк. Каждая строка содержит лишь одну команду МП или директиву ассемблера.
Предложения ассемблера бывают четырех типов:
[метка:] | мнемоника_команды | [операнд(ы)] | [;комментарий] |
Метка | Код операции | Операнды | ;Комментарий |
MET: | MOVE | AX, BX | ;Пересылка |
Рис. 30 Формат директив и машинных команд
- команды или инструкции (имя), представляющие собой символические аналоги машинных команд.
В процессе трансляции инструкции ассемблера преобразуются в соответствующие команды системы команд микропроцессора;
- макрокоманды (мнемокод)— оформляемые определенным образом предложения текста программы, замещаемые во время трансляции другими предложениями;
- директивы (операнды), являющиеся указанием транслятору ассемблера на выполнение некоторых действий. У директив нет аналогов в машинном представлении;
- строки комментариев, содержащие любые символы, в том числе и буквы русского алфавита. Комментарии игнорируются транслятором.
Когда мы пишим программу на ассемблере, вы просто пишете команды процессору. Команды процессору - это просто коды или коды операций или опкоды. Опкоды - фактически "читаемый текст"- версии шестнадцатеричных кодов. Из-за этого, ассемблер считается самым низкоуровневым языком программирования, все в ассемблере непосредственно преобразовывается в шестнадцатеричные коды.
Числа в ассемблере могут представляться в двоичной, десятеричной или шестнадцатеричной системе. Для того, чтобы показать в какой системе использовано число надо поставить после числа букву. Для бинарной системы пишется буква b (пример: 0000010b, 001011010b), для десятеричной системы можно ничего не указывать после числа или указать букву d (примеры: 4589, 2356d), для шестнадцатеричной системы надо указывать букву h, шестнадцатеричное число надо обязательно писать с нулём в начале (примеры: 00889h, 0AC45h, 056Fh, неправильно F145Ch, С123h).
По функциональному признаку команды можно разбить на пять больших групп: