Магда Юрий
Шрифт:
Для разработки примеров используется макроассемблер MASM фирмы Microsoft с компилятором версии 7.10.хххх. Этот компилятор включен в состав Windows ХР DDK и Windows Server 2003 DDK. Подойдет и компилятор версии 6.14.хххх, но в этом случае примеры применения технологий SIMD компилировать будет невозможно. В качестве среды разработки можно порекомендовать свободно распространяемый макроассемблер MASM32 версии 8, который включает в себя компилятор ML версии 6.14.хххх и компоновщик LINK версии 5.12.хххх фирмы Microsoft.
Во всех примерах синтаксис языка ассемблера максимально упрощен, используется минимум высокоуровневых конструкций языка. В книге не приводится детальное описание компилятора MASM, a упоминаются лишь те сведения, которые необходимы для работы.
Книга рассчитана на широкий круг читателей – от начинающих программистов до опытных разработчиков.
Структура книги
Структура книги такова, что материал можно изучать выборочно по отдельным главам или последовательно, начиная с первой главы. Это позволяет различным категориям читателей изучать тот материал, который им более всего интересен. Книга состоит из 14 глав.
– Глава 1, «Базовая архитектура процессоров Intel x86». В этой главе рассматриваются базовая архитектура процессоров х86 фирмы Intel и эволюция к последним моделям процессоров Intel Pentium.
– Глава 2, «Основы создания приложений на языке ассемблера». Материал этой главы посвящен общим принципам создания программ на ассемблере. Здесь также рассмотрены основные этапы компиляции и компоновки приложений с использованием макроассемблера MASM фирмы Microsoft.
– Глава 3, «Синтаксис языка ассемблера». В этой главе проанализирован синтаксис языка ассемблера, включая основные типы данных, модели памяти и типы адресации при работе с процессорами Intel.
– Глава 4, «Структура программы на языке ассемблера». В этой главе проанализирована сегментная структура ассемблерных программ и ее взаимосвязь с используемыми моделями памяти.
– Глава 5, «Организация вычислительных циклов». Материал главы посвящен организации вычислительных алгоритмов с использованием команд условных и безусловных переходов. Здесь также рассматриваются варианты оптимизации ветвлений в программах с применением специальных команд процессоров Intel Pentium.
– Глава 6, «Процедуры на языке ассемблера». В этой главе описаны процесс разработки и применения процедур на языке ассемблера, а также вопросы организации и использования стека для передачи параметров. Рассмотрены различные варианты обработки данных в процедурах, обращений к регистрам и памяти.
– Глава 7, «Операции со строками и массивами». Здесь рассматриваются строковые команды процессора Intel Pentium и практические аспекты их применения при обработке символьных строк и числовых массивов. Проанализированы методы оптимизации строковых операций.
– Глава 8, «Арифметические и логические операции». Материал главы посвящен анализу арифметических и логических команд процессора, а также преобразованиям целочисленных данных из одних форматов в другие.
– Глава 9, «Использование математического сопроцессора». Здесь рассматриваются вопросы применения математического сопроцессора в операциях над числами с плавающей точкой и способы создания эффективных алгоритмов обработки данных.
– Глава 10, «Интерфейс с языками высокого уровня». Материал главы посвящен применению отдельно скомпилированных ассемблерных модулей в программах на языках высокого уровня. В главе подробно анализируются методы передачи параметров в процедуры и получения результатов.
– Глава 11, «Процессоры Intel Pentium в современных разработках». В главе рассматриваются общие вопросы применения процессоров последних поколений Intel Pentium 4 в разработке высокоэффективных приложений. Показаны возможности оптимизации приложений для процессоров Pentium 4.
– Глава 12, «MMX-расширение процессоров Intel Pentium». Здесь проанализированы основные аспекты использования технологии ММХ для повышения производительности мультимедийных приложений и операций с целыми числами.
– Глава 13, «SSE-расширение процессоров Intel Pentium». В главе рассматриваются основные аспекты применения технологии SSE для повышения производительности операций с плавающей точкой в коротком формате и возможности оптимизации программ.
– Глава 14, «Технология SSE2 в процессорах Intel Pentium 4». Глава посвящена вопросам применения технологии SSE2 для повышения производительности операций с плавающей точкой двойной точности. Материал сопровождается многочисленными примерами практического применения данной технологии.
Материал книги дополнен справочником по системе команд процессоров Intel (Приложение А). Поскольку полная система команд насчитывает несколько сотен наименований, приведены только наиболее часто используемые команды.
Автор благодарит коллектив издательства «Питер» за помощь в подготовке книги к изданию. Особая признательность жене Юлии за поддержку и помощь в написании книги.
От издательства
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты: comp@piter.com (издательство «Питер», компьютерная редакция).