Язык Ассемблера является мнемонической формой записи машинного языка, в котором коды команд заменены именами. Имена представляют собой сокращения от английских слов, выражающих действия, производимые командами. Имеется взаимно-однозначное соответствие команд языка Ассемблера и машинных команд. Другим упрощением языка Ассемблера по отношению к машинному языку является использование меток вместо конкретных адресов. В языке Ассемблера имеются различные средства упрощающие программирование, но все же он остается языком низкого уровня, максимально приближенным к архитектурным особенностям конкретного компьютера. Для компьютеров разных архитектур должны быть разные языки Ассемблера. Более того, для компьютеров одной архитектуры могут быть разные языки Ассемблера.
Языки Ассемблера самые старые языки программирования, но они, естественно, развиваются вместе с развитием архитектур компьютеров или в них появляются все новые и новые средства упрощающие программирование. Значение языков Ассемблера изменялось в процессе развития компьютерных систем. Когда-то они были единственными языками программирования. Потом они стали языками системного программирования. В настоящее время программирование на языке Ассемблера применяется там, где проблема не может быть решена с использованием языков высокого уровня или ее решение более эффективно.
Почему же во время, когда имеются сотни языков программирования высоко уровня, делающих процесс программирования все более и более удобным, изучение архитектуры компьютера и языка Ассемблера входит в курс начальной подготовки по информатике.
1. Изучение языка Ассемблера и программирование на нем позволяет лучше понять архитектурные особенности компьютеров.
2. Изучение архитектуры компьютера необходимо для понимания того, как работают операционные системы и системы программирования.
3. Понимание архитектуры компьютера и того, как выполняется программа, позволяет писать более эффективные программы даже на языке высокого уровня и производить их отладку.
4. Знание архитектуры компьютера, естественно, просто необходимо разработчикам компьютерных систем.
5. На языке Ассемблера пишутся некоторые библиотечные функции, которые потом могут быть использования при программировании на языке высокого уровня, особенно те, где используются новые команды процессоров или специфические машинно-зависимые функции.
6. На языке Ассемблера могут быть написаны самые короткие и быстрые программы. Дело здесь не в том, что компиляторы плохие. Просто компиляторы преобразуют текст программы на языке высокого уровня по общим правилам, которые не могут учесть специфику данной конкретной задачи. Поэтому компиляторы могут вставить некоторую избыточную информацию, которую можно удалить.
7. Знание языка Ассемблера может помочь при исследовании программ, не имеющих исходных текстов, если программу можно деассемблировать. Это может пригодиться специалистам по компьютерной безопасности.
8. Знание архитектуры позволяет с большим интересом и пониманием следить за бурным развитием компьютерной техники.
Программа на ассемблере состоит из строк, каждая из которых содержит команду, директиву или макрокоманду на этом языке. Различие между командами и директивами следующее: при компиляции команда непосредственно порождает команду для процессора, директива не порождает команд для процессора, а служит для описания переменных, задания режимов работы компилятора и т. п. Каждая строка может содержать поле метки (для команд после метки ставится двоеточие :), поле инструкции, поле операндов и комментарии. Поля разделяются друг от друга пробелами или символами табуляции, а комментарий начинается с символа точка с запятой:
Рис 4. 1. Формат инструкции на языке ассемблера
Алфавит языка Ассемблера включает большие и малые буквы латинского алфавита, символ подчеркивания (который также считается буквой) цифры и спецсимволы.
Идентификаторы в языке ассемблера могут содержать до 31 буквенно-цифровых символа, первым из которым должна быть буква или специальный символ (подчеркивание ‘_‘, доллар ‘$’, знак вопроса ‘?’, коммерческое а ‘@’ и точка ‘.’, которая может быть только первым символом имени).
Строчные и прописные буквы в идентификаторах транслятором
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.