Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей
|
Компиляция приложения может выполняться с использованием тех же опций
командной строки, что и для обычных графических приложений.
Заканчивая главу, хотелось бы отметить, что мы рассмотрели далеко не все
аспекты применения ассемблера для разработки Windows-приложений. Но
даже на этих примерах читатель сможет оценить широкие возможности этого
языка программирования.
Глава 6
Встроенный ассемблер
языков высокого уровня:
принципы использования
Эта глава посвящена применению встроенных средств программирования
языков высокого уровня для оптимизации приложений. Насколько важен
этот вопрос, можно судить хотя бы по тому факту, что фирмы-изготовители
высокоуровневых средств разработки приложений сделали встроенный ассемблер
частью среды разработки.
На заре развития аппаратно-программных средств компьютеров наличие
языка низкого уровня в составе высокоуровневых языков программирования,
таких как С и Pascal, позволяло осуществлять управление ПК с высокой
эффективностью. Операционная система MS-DOS давала возможность
пользовательским приложениям полностью контролировать персональный
компьютер, а сочетание ассемблера и языков высокого уровня в программах
позволяло разработчикам писать высокопроизводительные программы.
С приходом операционной системы Windows все изменилось. Программа
все еще могла использовать ассемблер для управления и аппаратурой компьютера,
и, частично, операционной системой, однако только в Windows
95 / 98 / Me. Другие операционные системы, такие как Windows
NT / 2000 / ХР, резко ограничили возможности пользователя контролировать
работу как операционной системы, так и аппаратуры самого ПК. Казалось,
что роль ассемблера в разработке программ, равно как и в повышении
эффективности работы приложений, сошла на нет.
Встроенный ассемблер многих языков высокого уровня в середине 90-х
воспринимался скорее как дань прошлому, чем как серьезное средство разработки
программ. Однако со временем выяснилось, что языки высокого
уровня, несмотря на обширные библиотеки функций, в большинстве случаев
генерировали не очень эффективный код. Как это ни казалось странным,
но новые поколения процессоров требовали новых подходов к проблеме
оптимизации, а это мог обеспечить только язык низкого уровня. Кроме того
с появлением операционных систем Windows NT J 2000 / ХР резко обострилась проблема работы приложений в режиме реального времени. Все эти
причины заставили ведущие фирмы-производители, такие как Microsoft,
Borland, IBM и Intel, усовершенствовать встроенный ассемблер средств разработки
на языках высокого уровня.
В настоящее время дискуссии о том, нужен ли ассемблер разработчикам
приложений на языках высокого уровня, уже не ведутся, т. к. стало понятно,
что этот язык является неотъемлемой частью всех программ и одним из
основных средств улучшения производительности приложений на языках
высокого уровня.
6.1. Применение
встроенного ассемблера Delphi 7
Вначале мы рассмотрим встроенный ассемблер (Built-in Assembler —
BASM), используемый в приложениях на Delphi 7. Среда разработки
Delphi 7 имеет много общего со своим предшественником Турбо Паскалем.
Синтаксис встроенного ассемблера наследует многие принципы и подходы
классических языков, таких как Microsoft MASM или Borland TASM, хотя и
имеет определенные отличия. Поскольку встроенный ассемблер является
частью среды программирования, то он подчиняется определенным соглашениям,
принятым в ней.
Встроенный ассемблер Delphi 7 позволяет:
• использовать большую часть синтаксических конструкций языков
Borland TASM и Microsoft MASM. Поддерживаются все команды математического
сопроцессора и некоторые выражения Турбо ассемблера;
• использовать все команды процессора Pentium III, включая расширения
для работы с большими массивами данных целого и вещественного
типа;
• разрабатывать ассемблерные процедуры в теле основной программы;
• использовать идентификаторы переменных, констант и функций Delphi.
Последовательность ассемблерных команд обычно оформляется в виде блока.
Команды располагаются между ключевыми словами asm и end. Схематично
блок команд на ассемблере выглядит так:
asm
<команды ассемблера>
end
<< Назад В начало Далее >> |
|