Суббота, 19 Мая 2012

Ассемблер. Низкий уровень высоких технологий

Ассемблер - низкоуровневый языкПервый вопрос, который приходит на ум человеку, в первый раз услышавшему об Ассемблере, - а зачем он, собственно говоря, нужен? Особенно в наше время, когда все пишут на Delphi, C# и других высокоуровневых языках программирования? Очень многое можно разработать на С#, но ни один язык не может даже претендовать на то, чтобы на нём можно было бы написать действительно «всё».

Итак, на языке Ассемблер можно написать:

• всё, что требует максимальной скорости при выполнении: важнейшие ядра для ОСРВ (операционные системы реального времени), компоненты компьютерных игр и просто фрагменты программ, которые критичны к расходованию памяти либо ко времени выполнения;

• всё, что должно взаимодействовать с внешними устройствами: программы, работающие напрямую со звуковыми и видеоплатами, и драйверы;

• всё, что должно полностью использовать возможности процессора: программы, которые переводят процессор в защищенный режим, ядра многозадачных ОС;

• всё, что должно полностью использовать возможности ОС: антивирусы и вирусы, программы для защиты от несанкционированного доступа к закрытой информации, программы, которые обходят эти защиты, и программы, которые защищают от этих программ;

Совсем не всё, что говорят об Ассемблере, - правда, и совсем не все, кто говорят об Ассемблере, хотя бы немного знают его. Однако даже самые ярые противники этого низкоуровневого языка согласятся с тем, что программы, написанные на Ассемблере, - самые быстрые и могут то, с чем не под силу справиться программам, созданным с помощью любого другого языка.

С одной стороны, чтобы написать и выполнить простую программу, не обязательно знать все команды и директивы языка, а также устройство процессора, досконально, но, с другой, по-настоящему серьезная разработка потребует и серьезной подготовки.

Повсеместное распространение микрокомпьютеров стало причиной для кардинального пересмотра отношения к языку Ассемблер по двум основным параметрам. Во-первых, программы, написанные на нём, требуют значительно меньшее количество памяти для хранения и времени для выполнения. А, во-вторых, понимание низкоуровневого языка Ассемблер и языка машинных команд даёт возможность понять архитектуру ЭВМ, что вряд ли обеспечит работа на любом языке высокого уровня. Несмотря на то что большинство IT-специалистов, работающих в сфере программного обеспечения, ведут свои разработки на высокоуровневых языках, самое эффективное и мощное ПО частично либо полностью написано на языке Ассемблер.

Языки высокого уровня разрабатывались специально для того, чтобы избежать излишней технической подготовки программистов, пишущих ПО для конкретных моделей компьютеров. А вот язык Ассемблер разработан для определённой специфики компьютера или, точнее говоря, для определённой специфики процессора. Значит, чтобы написать программу на языке Ассемблер для данного конкретного компьютера, необходимо знать и его архитектуру.

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

Добавить комментарий


Защитный код
Обновить

Веб-студия Go in Web
450103, Россия, республика Башкортостан, , город Уфа, улица Софьи Перовской 42/2, вход с торца(группа компаний "Гамаюн")
время работы: пн-пт 09:00-18:00
Веб дизайн,Интернет-решения,Продвижение сайтов
+7 (917) 437-39-26
http://www.goinweb.ru
Перепечатка информации с сайта www.goinweb.ru, возможна только с указанием активной гиперссылки.
Веб-студия "Goinweb": Разработка, обслуживание и поддержка веб-сайтов. Подбор ключевых слов и поисковая оптимизация.
© 2009-2012 Группа свободных разработчиков и ООО "ИнвестПроект". Телефон: +7 917 437-39-26, E-mail:feedback@goinweb.ru