Первый вопрос, который приходит на ум человеку, в первый раз услышавшему об Ассемблере, - а зачем он, собственно говоря, нужен? Особенно в наше время, когда все пишут на Delphi, C# и других высокоуровневых языках программирования? Очень многое можно разработать на С#, но ни один язык не может даже претендовать на то, чтобы на нём можно было бы написать действительно «всё». Итак, на языке Ассемблер можно написать:
• всё, что требует максимальной скорости при выполнении: важнейшие ядра для ОСРВ (операционные системы реального времени), компоненты компьютерных игр и просто фрагменты программ, которые критичны к расходованию памяти либо ко времени выполнения;
• всё, что должно взаимодействовать с внешними устройствами: программы, работающие напрямую со звуковыми и видеоплатами, и драйверы;
• всё, что должно полностью использовать возможности процессора: программы, которые переводят процессор в защищенный режим, ядра многозадачных ОС;
• всё, что должно полностью использовать возможности ОС: антивирусы и вирусы, программы для защиты от несанкционированного доступа к закрытой информации, программы, которые обходят эти защиты, и программы, которые защищают от этих программ;
Совсем не всё, что говорят об Ассемблере, - правда, и совсем не все, кто говорят об Ассемблере, хотя бы немного знают его. Однако даже самые ярые противники этого низкоуровневого языка согласятся с тем, что программы, написанные на Ассемблере, - самые быстрые и могут то, с чем не под силу справиться программам, созданным с помощью любого другого языка.
С одной стороны, чтобы написать и выполнить простую программу, не обязательно знать все команды и директивы языка, а также устройство процессора, досконально, но, с другой, по-настоящему серьезная разработка потребует и серьезной подготовки.
Повсеместное распространение микрокомпьютеров стало причиной для кардинального пересмотра отношения к языку Ассемблер по двум основным параметрам. Во-первых, программы, написанные на нём, требуют значительно меньшее количество памяти для хранения и времени для выполнения. А, во-вторых, понимание низкоуровневого языка Ассемблер и языка машинных команд даёт возможность понять архитектуру ЭВМ, что вряд ли обеспечит работа на любом языке высокого уровня. Несмотря на то что большинство IT-специалистов, работающих в сфере программного обеспечения, ведут свои разработки на высокоуровневых языках, самое эффективное и мощное ПО частично либо полностью написано на языке Ассемблер.
Языки высокого уровня разрабатывались специально для того, чтобы избежать излишней технической подготовки программистов, пишущих ПО для конкретных моделей компьютеров. А вот язык Ассемблер разработан для определённой специфики компьютера или, точнее говоря, для определённой специфики процессора. Значит, чтобы написать программу на языке Ассемблер для данного конкретного компьютера, необходимо знать и его архитектуру.
Ассемблер – это тот язык, который наиболее точно отражает особенности машинного языка. Для практической работы с ним достаточно понимать основные концепции и идеи, лежащие в его основе. Каждый квалифицированный программист должен понимать, что самую эффективную программу можно написать только на Ассемблере, хотя это и очень трудоёмкая работа, требующая концентрации внимания и практического опыта
Поможем создать сайт быстро и качественно.
Бесплатная консультация по телефону: