Assembler - язык програмирования, с помощью которого можно написать такие программы, которые невозможно, или очень сложно написать на других языках програмирования. Например: генераторы ключей(keygen), системные мониторы, драйвера для оборудования или даже операционные системы. Конечно есть и такие языки програмирования как "C","Pascal","Delphi" и т.д., но они не обеспечивают надёжного контроля за потоками данных, адресами памяти или регистрами процессора, а также: все языки высокого уровня ("C","Pascal","Delphi" и т.д.) были разработаны под определённый вид операционной системы (на Turbo Pascal для DOS невозможно написать даже самую элементарную программу, которая работала бы под MacOS или Linux, также Pascal не предусматривает работу с загрузочными секторами диска или перекомпиляцию самого себя под определённую платформу.), assembler же (не все особи) может стать этим-же ассемблером, но работающим на неизвестной науке платформе, и делающий программы под эту-же платформу. И это ещё не всё!
Программы на Ассемблере получаются в десятки раз меньше, а работают в десятки раз быстрее. Примером может послужить операционная система MenuetOS, которая написана на Flat Assembler и умещается на одной дискете (1.44 M), причём в комплект входят прикладные программы, такие как: редактор ассемблерного кода с подсветкой, работа с файловой системой, 3d заставки, некоторое колличество игр, просмоторщик картинок, компилятор Flat Assembler, терминал, CD плейер и многое другое. Преимущество состоит в том, что его можно быстро скачать с интернета (даже при маленькой скорости соединения). Так, что я думаю создатель MenuetOS не промахнулся, когда выбирал язык, для своего детища. Также маленькие программы проще распространять, т.к. диски с ними не надо высылать по почте, а достаточно, поместить на скачивание, и сделать платную регистрацию этой программы. Таким образом, это правильный шаг в смысле Internet маркетинга, и его нельзя упустить.
История создания Ассемблера
Появление микропроцессоров в
60-х годах cвязано с разработкой
интегральных схем (ИС). Интегральные схемы объединяли в себе различные
электронные компоненты в единый элемент на силиконовом "чипе".
Разработчики установили этот крошечный чип в устройство, напоминающие
сороконожку и включили его в функционирующие системы. В начале 70-х
микрокомпьютеры на процессоре Intel 8008 возвестили о первом поколении
микропроцессоров.
К 1974 году появилось второе
поколение микропроцессоров oбщего
назначения Intel 8080. Данный успех побудил другие фирмы к производству
этих или аналогичных процессоров.
В 1978 году фирма Intel выпустила
процессор третьего поколения -
Intel 8086, который обеспечивал некоторую совместимость с 8080 и являлся
значительным продвижением вперед в данной области. Для поддержки более
простых устройств и обеспечения совместимости с устройствами ввода/вывода
того времени Intel разработал разновидность процессора 8086 - процессор
8088, который в 1981 году был выбран фирмой iВМ для ее персональных
компьютеров.
Более развитой версией процессора
8088 является процесcор 80188, а
для процессора 8086 - процессоры 80186, 80286 и 80386, которые обеспечили
дополнительные возможности и повыcили мощность вычислений. Микропроцессор
80286, установленный в компьютерах IBM AT появился в 1984 году. Все эти
процессоры имеют отношение к развитой архитектуре процессоров фирмы Intel
и обозначаются как iAPX 86, iAPX 88, iAPX 186, iAPX286 и iAPX386, где APX -
Intel Advanced Processor Architecture.
Распространение микрокомпьютеров послужило причиной
пеpесмотра
отношения к языку ассемблера по двум основным причинам. Во-первых,
программы, написанные на языке ассемблера, требуют значительно меньше
памяти и времени выполнения. Во-вторых, знание языка ассемблера и
результирующего машинного кода дает понимание архитектуры машины, что вряд
ли обеспечивается при работе на языке высокого уровня. Хотя большинство
специалистов в области программного обеспечения ведут разработки на языках
высокого уровня, таких как Паскаль или С, что проще при написании
программ, наиболее мощное и эффективное программное обеспечение полностью
или частично написано на языке ассемблера.