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

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


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для 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


 
 
 

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