248
Использование машинно-зависимых языков предполагает знание
особенностей реализации технических решений, реализованных в конкретных
компьютерах. К этой группе языков в первую очередь относятся машинные
языки, являющиеся внутренними языками конкретных процессоров, не
требующими каких-либо преобразований перед их исполнением. Команды
машинных языков представляют собой многоразрядные кодовые комбинации в
двоичной системе счисления (определенной машинной команде соответствует
конкретный
код из 0 и 1), непосредственно подаваемые на шину процессора
при их выполнении. Программирование на машинных языках отличается
высокой трудоемкостью, поэтому оно применялось на ЭВМ первого поколения
ввиду отсутствия других языков программирования. К машинно-зависимым
языкам относятся также языки программирования семейства
ассемблеров.
Каждая команда языка ассемблера фактически представляет машинную
команду в виде условных, символьных обозначений, называемых
мнемониками. В основном, название команды ассемблера представляет собой
сокращенное обозначение на английском языке операции, реализуемой этой
команды. До непосредственного выполнения на компьютере написанная на
языке ассемблер программа с помощью специальной программы-транслятора
должна быть преобразована в
программу в машинных кодах. Поскольку
процессоры различных моделей имеют отличающие наборы команд, то,
соответственно, отличаются и их языки ассемблеры. Следовательно,
написанная на языке ассемблер программа будет работоспособна только на
процессорах определенных моделей.
Языки семейства ассемблеров относятся к языкам низкого уровня, для
которых характерны возможности создания эффективных и компактных
программ, поскольку программист
имеет непосредственный доступ к
аппаратным ресурсам компьютера (процессору, основной и внешней памяти,
контроллерам и др.). В настоящее время ассемблер, как правило, используют
при написании небольших системных приложений, драйверов (программ,
управляющих взаимодействием внешних устройств с процессором и с ОЗУ),
отдельных процедур обработки данных и др. Как и для других языков
программирования,
для ассемблеров написан ряд библиотек, в которых
реализованы процедуры различных видов обработки данных, что способствует
ускорению процесса разработки программ. Многие языки программирования
высокого уровня позволяют вставлять в разрабатываемые на их основе
программы отдельные модули, написанные на языке ассемблер.
Машинно-независимые языки программирования или, по-другому, -
языки высокого уровня не требуют от программистов при написании программ
знания особенностей организации конкретных компьютеров, на которых эти
программы будут выполняться. Основной целью создания языков высокого
уровня явилась необходимость обеспечения программистов производительным