СоНоты

Язык программирования Ассемблер

Ассемблер (англ. assembler, от assemble - собирать, монтировать) - система программирования, позволяющая составлять программы в терминах команд машинного языка, но с использованием более удобной системы обозначений. Машинная программа имеет вид записи заполнения участка оперативной памяти, где рядом с адресом ячейки указывается ее содержимое - обрабатываемая информация и машинная команда - и то и другое в виде двоичного слова, записываемого в 8-ричной или 16-ричной системе счисления. При этом команда обычно состоит из двух частей - кода операции и адресной части. основных неудобств в работе человека с машинной программой два: а) невозможность следить за смыслом программы из-за числовой кодировки операций, адресов ячеек и обрабатываемой информации; б) зависимость вида программы от ее места в памяти: при размещении одной и той же программы и информации в разных участках памяти вид программы из-за смены адресов будет изменяться.

Ассемблер позволяет при записи машинной программы использовать символические обозначения для кодов операций, адресов ячеек и обрабатываемой информации. Для записи кодов операции и обрабатываемой информации применяются стандартные обозначения, позволяющие записывать числа и тексты в общепринятой форме, а для кодов команд - мнемонические знаки или сокращения. Для обозначения команд и величин, размещаемых в памяти, программист может ввести любые имена (метки для команд, символические адреса для величин), отвечающие содержательному смыслу программы.

Аналогично, содержательные имена получают подпрограммы, позволяя тем самым повысить наглядность команд их вызова.

Программа на языке Ассемблера записывается построчно по одной команде в строке в четыре колонки: метка команды (если она есть), код операции, адресная часть и комментарий. Поскольку все внутренние ссылки в программе выражены с помощью символических имен, вид программы не зависит от способа ее последующего размещения в памяти.

Работа Ассемблера состоит во вводе программы и в составлении таблицы всех используемых в ней имен. На основе подсчета числа величин, длины программы и, если нужно, дополнительных указаний программиста происходит распределение памяти, так что каждое имя в программе получает конкретный адрес. После этого Ассемблер заменяет имена на их адреса, символические коды команд на числовые, в результате чего программа приобретает готовый к исполнению вид. Кроме указанных действий Ассемблер может производить сборку программы из раздельно написанных кусков, производя согласование взаимных ссылок, объединять написанную программу с библиотечными подпрограммами и выполнять другие служебные функции, способствующие отладке программы и контролю за ее исполнением.

//Математический энциклопедический словарь.