Системы команд даже самых современных автоматических устройств,
в том числе компьютеров, очень примитивны и часто ограничиваются
набором элементарных команд (например, сложить два числа, записать
число в заданную ячейку памяти и т.д.). Каждая команда имеет собственный
двоичный код. Именно по двоичному коду автоматическое устройство
распознает и выполняет команду.
Представление алгоритма в виде последовательности двоичных кодов называется программой.
Программа записывается в отдельном исполняемом файле ( например exe для windows-систем ) . Таким образом,
программа – это алгоритм, предназначенный для выполнения компьютером.
Двоичное представление команд компьютера называется машинным кодом.
Первая программа на компьютере, написанная в машинных кодах,
была запущена в 1948 году в Англии. До 1950 года все программы
для компьютеров составлялись исключительно в машинных кодах.
Такой способ составления программ был очень трудоемким,
так как алгоритм необходимо было детализировать до элементарных действий,
которым отвечали команды компьютера.
Как следствие, программы были громоздкими,
содержали большое количество ошибок, для выявления
и удаления которых, в свою очередь, требовалась
кропотливая и продолжительная работа.
Довольно скоро стало понятно, что процесс формирования машинного
кода можно автоматизировать. Уже в 1950 году для записи программ
начали применять мнемонический язык – язык assembly.
Язык ассемблера позволил представить машинный код в более
удобной для человека форме: для обозначения команд и объектов,
над которыми эти команды выполняются, вместо двоичных кодов
использовались буквы или сокращенные слова, которые отражали
суть команды. Например, на языке ассемблера команда сложения
двух чисел обозначается словом add, тогда как ее машинный код
может быть таким: 000010. Запись программы на языке ассемблера
фактически является тем же машинным кодом,
только представленным с помощью специальных обозначений.
Ассемблер можно отнести к языкам второго поколения,
если за первый принять машинный код.
Появление этого языка на свет, очень облегчало жизнь программистов.
Теперь вместо рябящих в глазах нулей и единиц,
они могли писать программу командами, состоящими из символов
приближенных к обычному языку. Для того времени этот язык был
новшеством и пользовался популярностью т.к.
позволял писать программы небольшого размера,
что при тех машинах критерий значительный.
Но сложность разработки в нём больших программных
комплексов привела к появлению языков третьего
поколения – языков высокого уровня. Но на этом жизнь
ассемблера не закончилась, он жив и посей день и не только жив,
но и пользуется популярностью в узких кругах.
Сейчас его используют в написании отдельных фрагментов
программ или иногда в написании самих программ.
Примеров может быть много, но самые яркие это использование
ассемблера в написании драйверов, игр и загрузчиков ОС.
Не стоит забывать, что у хакеров этот язык так же пользуется популярностью, да ещё какой!
Но что же им так нравиться в нём?
Конечно же, то, что скорость работы полученной программы значительно выше
скорости программы написанной на языке программирования высокого уровня.
Это объясняется тем, что получившийся размер программы очень мал.
А как же разработчики антивирусных программ?
Они тоже не лыком шиты и так же используют ассемблер в некоторых модулях своих программ,
что так же обеспечивает их быстродействие.
А если бы не ассемблер некоторые программы загружались бы около часа!
Так что ассемблер воистину вечный язык и ещё много, много лет он будет служить человечеству!
С уважением Pauk_pv ©
|