Издание посвящено вопросам программирования на языке ассемблера для процессоров Intel Pentium. Рассмотрен широкий круг вопросов, начиная с основ программирования на ассемблере и заканчивая применением самых современных технологий обработки данных, таких как MMS, SSE и SSE2. Материал книги раскрывает методику оптимизации программного кода для всех поколений процессоров Intel Pentium, включая Intel Pentium 4. Теоретический материал подкреплен многочисленными примерами программного кода. Для широкого круга читателей, от студентов до опытных разработчиков программного обеспечения.
Книга посвящена основам программирования на Ассемблере в системах Windows и DOS. Знание Ассемблера необходимо профессиональному программисту для понимания работы операционной системы и компилятора. Ассемблер позволяет написать программу (или ее часть) так, что она будет быстро выполняться и при этом занимать мало места. Это любимый язык хакеров; его знание позволяет менять по своему усмотрению программы, имея только исполнимый файл без исходных текстов. В основу изложения положены короткие примеры на ассемблере MASM фирмы Microsoft, вводящие читателя в круг основных идей языка, знание которых позволяет не только писать простые программы, но и самостоятельно двигаться дальше. Книга рассчитана на школьников средних и старших классов, а также на всех, интересующихся программированием вообще и ассемблером в частности.
В книге рассмотрен язык Ассемблера для процессоров семейства Intel 80x86, а также различные аспекты применения этого языка в области защиты информации. Книга состоит из шести глав. Глава 1 суть учебное пособие для начинающих по программированию на Ассемблере в среде DOS, она содержит описание архитектуры компьютера IBM PC, системы команд, способов адресации данных, системных функций, некоторых приемов программирования. Вторая и третья главы книги рассчитаны на более подготовленного читателя. Главе 2 содержит описание криптографических методов и возможные способы решения задач контроля целостности и обеспечения секретности информации. Глава 3 посвящена специфическим применениям Ассемблера, таким как защита программ от статического и динамического исследования, борьба с вирусами, "изощренное" программирование. Глава 4 содержит описание особенностей программирования на Ассемблере в среде Linux. В главе 5 обсуждаются инструментальные средства и базовые приемы создания приложений для ОС Windows. В главе 6 описывается методика оптимизации программ на языке Ассемблер с учетом особенностей архитектур процессоров Pentium различных поколений. Книга рассчитана на широкий круг читателей, в том числе и не являющихся профессиональными программистами. Может быть полезна программистам, инженерам, студентам вузов.
В книге освещаются все аспекты современного программирования на ассемблере для DOS, Windows 95/NT и UNIX (Solaris, Linux и FreeBSD), включая создание резидентных программ и драйверов, прямое программирование периферийных устройств, управление защищенным режимом и многое другое. Детально рассматривается архитектура процессоров Intel вплоть до Pentium III. Все главы иллюстрируются подробными примерами работоспособных программ. Издание ориентировано как на профессионалов, так и на начинающих без опыта программирования.
В книге рассматривается один из эффективных методов оптимизации программ - использование языка ассемблера, описана методика разработки отдельных модулей на нем для применения в программах на языках высокого уровня, показано, как с помощью ассемблера можно разработать полнофункциональные Windows-приложения. Особое внимание уделено оптимизации программ, написанных на языках высокого уровня, с помощью встроенного ассемблера. Для демонстрации методов и подходов выбраны наиболее популярные средства разработки - Microsoft Visual C++ .NET и Borland Delphi 7. В книгу включены примеры программного кода приложений, иллюстрирующие различные аспекты применения ассемблера. Исходные тексты программ содержатся на прилагаемом к книге компакт-диске. Для профессиональных разработчиков программного обеспечения в Windows.
Рассмотрены вопросы исследования кода Windows-приложений. Подробно описаны формат исполняемых модулей и структура инструкций микропроцессора Intel. Дан полный обзор инструментария по исследованию исполняемого кода: отладчики, дизассемблеры, редакторы ресурсов, НЕХ-редакторы и др. Большое внимание уделено работе с популярными программами по дезассемблированию и отладке SoftlCE и IDA Pro. Приведены примеры исследования исполняемого кода и описаны основные принципы подобного исследования: идентификация программных структур, поиск данных и др. Прилагаемый компакт-диск содержит тексты всех листингов, описанных в книге, а также учебные программы.
В книге рассматриваются вопросы, связанные с программированием на языке ассемблера для операционных систем MS-DOS и Windows. Приведены примеры программирования периферийных устройств на уровне регистров ввода/вывода. Программирование с использованием API проиллюстрировано применительно к функциям операционных систем MS-DOS, Windows и сетевой операционной системы Novell Netware. Наряду с такими сложными темами, как программирование в защищенном режиме, организация защиты информации на диске и программирование контроллера прерываний, приводится материал и для начинающих, в частности, описана структура программ и их трансляция, работа с файлами и использование ассемблера с языками высокого уровня. В книгу включены около 150 примеров работающих программ с подробным разъяснением их устройства.
Эта книга рассчитана на читателей с разным уровнем подготовки - от начинающих, которые хотят познакомиться с ассемблером серьезно или желают лишь написать пару программ, выполняющих необычные трюки с компьютером, до профессиональных программистов, которые тоже могут найти здесь интересные разделы. Почти все, что надо знать об ассемблере, где-нибудь да объяснено, а также объяснено многое из того, что не заботит большинство программистов. С одной стороны, чтобы написать простую программу, не нужно знать язык и устройство процессора в совершенстве, но, с другой стороны, по-настоящему серьезная работа потребует и серьезной подготовки. Уровень сложности в этой книге возрастает от начала к концу, но в первой ее половине отдельные абзацы будут помечены специальным знаком, который, означает, что данный абзац лучше пропустить при чтении, если вы знакомитесь с ассемблером впервые. Впрочем, если у вас есть время и желание выучить ассемблер с нуля, - читайте все по порядку. Если же вам хочется немедленно приступить к написанию программ, начните сразу с главы 4.1, но будьте готовы к тому, что иногда придется возвращаться к предыдущим главам за более подробным описанием тех или иных команд. И наконец, если вам уже доводилось программировать на ассемблере, - выбирайте то, что интересно.