Ассемблер - это просто. Учимся программировать - Подробно и доходчиво объясняются все основные вопросы программирования на ассемблере. Рассмотрены команды процессоров Intel, 16- и 32-разрядные регистры, основы работы с сопроцессором, сегментация памяти в реальном масштабе времени, управление клавиатурой и последовательным портом, работа с дисками и многое другое. Описано, как разработать безобидный нерезидентный вирус и антивирус против этого вируса, как написать файловую оболочку (типа Norton Commander или FAR Manager) и как писать резидентные программы. Каждая глава состоит из объяснения новой темы, описания алгоритмов программ, многочисленных примеров и ответов на часто задаваемые вопросы. Во второе издание внесены исправления и добавлены новые примеры. Компакт-диск содержит исходные коды всех примеров, приведенных в книге, с подробными описаниями.
Название: Ассемблер — это просто. Учимся программировать. 2-е издание Автор: Калашников О. А. Издательство: БХВ-Петербург Год: 2011 Страниц: 329 Формат: PDF Размер: 11,6 МБ ISBN: 978-5-9775-0591-8 Качество: Отличное
Содержание:
Предисловие Несколько советов Ответы на некоторые вопросы Часть I. Знакомьтесь: ассемблер Глава 1. Первая программа 1.1. Шестнадцатеричная система счисления 1.2. Наша первая программа 1.3. Введение в прерывания 1.4. Резюме Глава 2. Регистры процессора 2.1. Введение в регистры микропроцессоров 8086-80186 2.2. Команды сложения и вычитания 2.3. Программа для практики Глава 3. Сегментация памяти в реальном режиме 3.1. Двоичная система счисления. Бит и байт 3.2. Сегментация памяти в реальном режиме 3.3. Наше первое прерывание 3.4. Программа для практики 3.5. Подведем итоги Часть II. Усложняем задачи Глава 4. Создание циклов 4.1. Еще немного о сегментации памяти 4.2. Создание циклов 4.3. Условный и безусловный переходы 4.4. Программа для практики Глава 5. Подпрограммы 5.1. Исправляем ошибку 5.2. Подпрограммы 5.3. Программа для практики 5.4. Несколько слов об отладчике AFD Глава 6. Работа со стеком 6.1. Стек 6.2. Программа для практики 6.2.1. Оператор nop Глава 7. Операторы сравнения 7.1. Разбор программы из главы 6 7.2. Оператор сравнения 7.3. Понятия условного и безусловного переходов 7.4. Расширенные коды ASCII 7.5. Программа для практики Глава 8. Учимся работать с файлами 8.1. Программа из прошлой главы 8.2. Основы работы с файлами 8.3. Программа для практики Глава 9. Работа с файлами 9.1. Программа из прошлой главы 9.2. Программа для практики Часть III. Файловая оболочка, вирус, резидент Глава 10. Введение в вирусологию. Обработчик прерываний 10.1. Программа из прошлой главы 10.2. Вирус 10.3. Резидент 10.4. Первый обработчик прерывания 10.5. Работа с флагами процессора Глава 11. Управление видеоадаптером 11.1. Оболочка 11.2. Управление видеокартой Глава 12. Повторная загрузка резидента 12.1. Резидент 12.2. Проверка на повторную загрузку резидента 12.3. Команды работы со строками 12.4. Использование xor и sub для быстрого обнуления регистров 12.5. Задание для освоения информации из данной главы Глава 13. Поиск и считывание файлов: вирус 13.1. Теория 13.2. Практика 13.3. Команда пересылки данных movs 13.4. Передача управления программе, расположенной в другом сегменте 13.5. Поиск файлов Глава 14. Вывод окна в центре экрана 14.1. Модели памяти 14.2. Оболочка SuperShell 14.3. Процедура рисования рамки (окна) 14.4. Практика 14.5. Новые операторы Глава 15. Обработка аппаратных прерываний 15.1. Теория 15.2. Инструкции ret и retf 15.3. Механизм работы аппаратных прерываний. Оператор iret 15.4. Практика 15.5. Логические команды процессора 15.6. Аппаратные прерывания нашего резидента 15.7. Резюме Глава 16. Принципы работы отладчиков 16.1. Как работает отладчик 16.2. Способы обойти отладку программы 16.3. Практика Глава 17. Заражение файлов вирусом 17.1. Определение текущего смещения выполняемого кода 17.2. Вирус Глава 18. Высокоуровневая оптимизация программ 18.1. Пример высокоуровневой оптимизации 18.2. Ошибка в главе 17 18.3. Оболочка Super Shell 18.4. Резюме Глава 19. Создание резидентного шпиона 19.1. Резидент 19.2. Что нужно вам вынести из этой главы? Глава 20. Финальная версия вируса 20.1. Вирус 20.2. Резюме Глава 21. Работа с блоками основной памяти 21.1. Оболочка SuperShell 21.2. Работа с основной памятью DOS Глава 22. Часто задаваемые вопросы Глава 23. Область PSP и DTA. Системные переменные (окружение DOS) 23.1. Структура командной строки 23.2. Системные переменные (окружение MS-DOS) 23.3. Основной резидент 23.4. Задание для закрепления сведений из данной главы Глава 24. Резидентный антивирус 24.1. Регистры микропроцессоров 80386/80486. Хранение чисел в памяти 24.2. Резидентный антивирус. Практика 24.3. Резюме Глава 25. Работа с сопроцессором 25.1. Ответы на некоторые вопросы 25.2. Введение в работу с сопроцессором 25.3. Первая программа с использованием сопроцессора 25.4. Вывод десятичного числа с помощью сопроцессора 25.5. Оболочка Глава 26. История развития ПК 26.1. Краткая история развития IBM-совместимых компьютеров 26.2. С чего все начиналось 26.3. Оболочка Глава 27. Удаление резидента из памяти 27.1. Обзор последнего резидента 27.1.1. Перехват прерывания 21h 27.2. Практика Глава 28. Алгоритм считывания имен файлов в память 28.1. Новый алгоритм считывания файлов в память 28.2. Процедура вывода имен файлов на экран 28.3. Новые переменные в оболочке 28.4. Обработка клавиш <PageUp> и <PageDown> 28.5. Обработка клавиш <Home> и <End> Глава 29. Загрузка и запуск программ 29.1. Подготовка к запуску программы и ее загрузка 29.2. "Восстановительные работы" Глава 30. Работа с расширенной памятью 30.1. Расширенная (XMS) память. Общие принципы 30.2. Программа XMSmem.asm. Получение объема XMS-памяти 30.3. Программа XMSblock.asm. Чтение файла в расширенную память и вывод его на экран 30.4. Программа XMScopy.asm. Копирование файла с использованием расширенной памяти Глава 31. Обзор дополнительных возможностей оболочки 31.1. Оболочка Super Shell 31.2. Антивирусные возможности оболочки Глава 32. Все о диске и файловой системе 32.1. Что находится на диске? 32.2. Удаление и восстановление файла 32.3. Ошибки файловой системы ПРИЛОЖЕНИЯ Приложение 1. Ассемблирование программ (получение машинного кода из ассемблерного листинга) П1.1. Загрузка MASM 6.10-6.13 П1.2. Ассемблирование П1.3. Компоновка Приложение 2. Типичные ошибки при ассемблировании программы Приложение 3. Таблицы и коды символов П3.1. Основные символы ASCII П3.2. Расширенные коды ASCII П3.3. Скан-коды клавиатуры Приложение 4. Содержимое компакт-диска Предметный указатель
Скачать Ассемблер — это просто. Учимся программировать. 2-е издание
|