RUSSIAN

Программирование на ассемблере x64: от начального уровня до профес­сионального использования AVX

Book information

Publisher
ДМК Пресс
Year
2021
ISBN
9785970609293, 9781484250754
Language
russian
Format
PDF
Filesize
30 MB (31013294 bytes)
Pages
332\332
Time added
2021-07-17 17:26:16

Description

Пер. с анг. А. В. Снастина. Цель этой книги – показать, как используются инструкции языка ассемблера, и научить читателей программировать на нем – начиная с создания самых про­стых программ и заканчивая использованием расширенной системы команд Advanced Vector Extensions (AVX). Для изучения практической части потребу­ется знание основы программирования на каком­-либо языке высокого уровня, например C. Теоретический материал сведен к необходимому минимуму: немного инфор­мации о двоичных числах, краткое описание логических операторов и кое­-что об основах линейной алгебры. Исходный ассемблерный код представлен в виде завершенных программ, которые читатель может протестировать на своем ком­пьютере и поэкспериментировать с ними. Рассматриваются инструментальные средства, которыми можно воспользоваться, и потенциальные проблемы при использовании этих инструментов. Основная часть книги содержит информацию о применении ассемблера в ОС Linux; несколько заключительных глав описывают работу в Windows. Книга предназначена для программистов на языках высокого уровня, а также для системных инженеров и инженеров по обеспечению безопасности, работа­ющих в области исследования вредоносного программного обеспечения. Программирование на ассемблере Х64 От начального уровня до профессионального использования AVX_переплет Основы программирования на ассемблере_11_05_.pdf Об авторе О техническом рецензенте Предисловие от издательства Введение Прежде чем начать Глава 1 Самая первая программа Редактирование, ассемблирование, связывание и запуск (или отладка) Структура программы на ассемблере Раздел section .data Раздел section .bss Раздел section .txt Резюме Глава 2 Двоичные и шестнадцатеричные числа и регистры Краткий вводный курс по двоичным числам Целые числа Числа с плавающей точкой Краткий вводный курс по регистрам Регистры общего назначения Регистр счетчика команд (rip) Регистр флагов Регистры xmm и ymm Резюме Глава 3 Анализ программ с помощью отладчика: GDB Начало отладки Двигаемся дальше Некоторые дополнительные команды отладчика GDB Немного улучшенная версия программы hello, world Резюме Глава 4 Следующая программа: Alive and Kicking Анализ программы alive Вывод Резюме Глава 5 Ассемблер основан на логике Логический оператор NOT Логический оператор OR Логический оператор XOR Логический оператор AND Резюме Глава 6 Отладчик Data Display Debugger Работа с отладчиком DDD Резюме Глава 7 Переходы и циклы Установка SimpleASM Использование SASM Резюме Глава 8 Память Обследование памяти Резюме Глава 9 Целочисленная арифметика Основы использования целочисленной арифметики Изучение арифметических инструкций Резюме Глава 10 Стек Изучение работы стека Наблюдение за стеком Резюме Глава 11 Арифметика с плавающей точкой Сравнение чисел с обычной и двойной точностью Кодирование с применением чисел с плавающей точкой Резюме Глава 12 Функции Создание простой функции Еще о функциях Резюме Глава 13 Выравнивание стека и фрейм стека Выравнивание стека Более подробно о фреймах стека Резюме Глава 14 Внешние функции Создание и связывание функций Расширенная версия makefile Резюме Глава 15 Соглашения о вызовах функций Аргументы функций Схема стека Сохранение регистров Резюме Глава 16 Операции с битами Основные положения Арифметика Резюме Глава 17 Работа с битами Другие способы изменения битов Переменная bitflags Резюме Глава 18 Макрокоманды Создание макроса Использование objdump Резюме Глава 19 Ввод и вывод в консоли Использование средств ввода/вывода Обработка переполнений Резюме Глава 20 Файловый ввод/вывод Использование системных вызовов Обработка файла Условное ассемблирование Инструкции для обработки файлов Резюме Глава 21 Командная строка Доступ к аргументам командной строки Отладка программы с аргументами командной строки Резюме Глава 22 Использование ассемблера в коде C Создание файла исходного кода на языке C Создание файла исходного кода на ассемблере Резюме Глава 23 Встроенный ассемблер Простой встроенный ассемблерный код Расширенный встроенный ассемблерный код Резюме Глава 24 Строки Обработка строк Сравнение и сканирование строк Резюме Глава 25 Предъявите ваш идентификатор Использование инструкции cpuid Использование инструкции test Резюме Глава 26 SIMD Скалярные данные и упакованные данные Невыровненные и выровненные данные Резюме Глава 27 Резюме Работа с битами регистра mxcsr Анализ программы Глава 28 Выравнивание для SSE Пример без выравнивания Пример с выравниванием Резюме Глава 29 SSE-инструкции для работы с упакованными целыми числами SSE-инструкции для работы с целыми числами Анализ исходного кода Резюме Глава 30 Обработка строк средствами SSE Управляющий байт imm8 Использование управляющего байта imm8 Биты 0 и 1 Биты 2 и 3 Биты 4 и 5 Бит 6 Зарезервированный бит 7 Флаги Резюме Глава 31 Поиск символа в строке Определение длины строки Поиск в строках Резюме Глава 32 Сравнение строк Строки с неявно заданной длиной Строки с явно заданной длиной Резюме Глава 33 Перемешиваем данные Основные принципы операций перемешивания Перемешивание в случайном порядке Перемешивание в обратном порядке Перемешивание вращением Перемешивание байтов Резюме Глава 34 SSE-инструкции: маски строк Поиск символов Поиск символов из заданного диапазона Поиск подстроки Резюме Глава 35 AVX Проверка поддержки AVX Пример программы с использованием AVX Резюме Глава 36 Операции с матрицами с использованием AVX Пример исходного кода для операций с матрицами Вывод матрицы: printm4x4 Умножение матриц: multi4x4 Обращение матрицы: inverse4x4 Теорема Гамильтона–Кэли Алгоритм Фаддеева–Леверье Исходный код Резюме Глава 37 Транспонирование матриц Пример исходного кода для транспонирования матриц Версия с использованием неупакованных данных Версия с применением перемешивания Резюме Глава 38 Оптимизация производительности Производительность вычисления транспонированной матрицы Производительность вычисления следа матрицы Резюме Глава 39 Приветствуем мир Windows Начинаем изучение Пишем код в Windows Отладка Системные вызовы Резюме Глава 40 Использование Windows API Вывод в консоли Создание окон Windows Резюме Глава 41 Функции в Windows Использование более четырех аргументов функции Обработка значений с плавающей точкой Резюме Глава 42 Функции с переменным числом аргументов Функции с переменным числом аргументов в Windows Обработка смешанных значений Резюме Глава 43 Работа с файлами в Windows Резюме Послесловие. Что дальше? Предметный указатель

Similar books

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

2025 · PDF

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

2022 · PDF

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

2021 · PDF

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

2022 · PDF

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

2023 · PDF

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

2022 · PDF