Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Средства разработки на ассемблере позволяют создавать и быстрые утилиты командной строки (консольные приложения). Использование в таких утилитах системных вызовов Windows позволяет выполнить очень многие сложные функции (копирование файлов, функции поиска и сортировки, обработка и анализ математических выражений и т.д.) с очень высоким быстродействием.

Другой важной областью применения ассемблера является разработка драйверов нестандартных и специализированных устройств, управляемых при помощи ПК. В таких случаях использование программ на языке ассемблера будет очень эффективным. Примеров такого применения ассемблера можно привести много. Это и системы обработки данных на базе ПК с использованием выносных устройств, одноплатные компьютеры с флэш-памятью, системы диагностики и тестирования различного оборудования. Подробно мы рассмотрим программирование Windows-приложений на ассемблере в главах 4—5.

Необходимо также упомянуть еще об одном аспекте применения языка ассемблера, достаточно экзотическом, но тем не менее используемом. Основная программа пишется на ассемблере, а вспомогательные модули — на любом другом языке, например на С++ или Pascal. При этом основная программа использует, как правило, мощные библиотечные функции языка высокого уровня, например математические или строковые. Кроме того, если для разработки интерфейса используются вызовы WIN API (Application Programming Interface), то программа получится очень мощной. Конечно, написание таких программ требует от программиста незаурядных знаний ассемблера и языков высокого уровня.

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

Глава 2
Основы программирования на языке ассемблера
В этой главе рассматриваются те аспекты программирования на языке ассемблера, которые делают его действительно полезным и эффективным для написания приложений. Основное внимание будет уделено ключевым моментам, таким как программирование маттатических функций, обработка массивов данных и строковые операции. Использование ассемблера как самостоятельного инструмента разработки и как средства оптимизации невозможно без знания принципов построения подпрограмм (процедур), которые играют важную роль, особенно при компоновке с языками высокого уровня. Мы не будем изучать язык ассемблера, что называется, с нуля. Для этого существует много хороших учебников, в которых детально описана система команд и синтаксис ассемблера для процессоров фирмы Intel.

Эта глава раскрывает основы построения эффективных алгоритмов на языке ассемблера. Многочисленные примеры демонстрируют технику использования ассемблера для написания эффективного кода. Как и в остальных главах, основной упор делается на практическое применение языка. Необходимые теоретические сведения приводятся в контексте примеров и задач.

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

Как уже отмечалось, ассемблер чаще всего применяется для программирования математических алгоритмов, задач быстрой сортировки и поиска данных в массивах и для оптимизации циклически повторяющихся вычислений. Такие задачи очень часто решаются при разработке программ на языках высокого уровня и занимают значительное время программных вычислений. Мы будем рассматривать только те команды ассемблера, которые являются общими для всех процессоров Intel, начиная с 386. В последних поколениях процессоров появились команды, позволяющие выполнять быструю обработку массивов данных, а также комплексные команды, позволяющие оптимизировать сам алгоритм вычислений. Это касается семейства процессоров Pentium, Pentium Pro, Pentium II, Pentium III.


 
 
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru