• Введение
  • - Введение

    - Структура книги

  • Глава 1. Программирование целочисленных арифметических операций
  • - Программирование целочисленных арифметических операций

    - Сложение чисел размером 1 байт без учета знака

    - Сложение чисел размером N байт без учета знака

    - Сложение чисел размером 1 байт с учетом знака

    - Сложение с учетом знака чисел размером N байт

    - Вычисление дополнения числа размером N байт

    - Вычисление модуля числа размером N байт

    - Вычитание двоичных чисел

    - Вычитание чисел размером N байт без учета знака

    - Вычитание чисел размером 1 байт с учетом знака

    - Вычитание чисел размером N байт с учетом знака

    - Вычитание с учетом знака чисел размером N байт (макрокоманда)

    - Умножение чисел размером 1 байт без учета знака

    - Умножение чисел размером N и М байт без учета знака

    - Умножение чисел размером 1 байт с учетом знака

    - Умножение чисел размером N и М байт с учетом знака

    - Умножение N-байтного числа на число размером М байт с учетом знака

    - Вычисление дополнения числа размером N байт (реверсивное)

    - Вычисление модуля числа размером N байт (реверсивное)

    - Деление без учета знака значения размером 2 байта на значение размером 1 байт

    - Деление с учетом знака значения размером 2 байта на значение размером 1 байт

    - Деление (N+М)-разрядного беззнакового целого на число размером М байт

    - Двоично-десятичные числа (BCD-числа)

    - Неупакованные BCD-числа

    - Сложение неупакованных BCD-чисел (макрокоманда)

    - Вычитание неупакованных BCD-чисел (макрокоманда)

    - Умножение неупакованных BCD-чисел (макрокоманда)

    - Деление N-разрядного беззнакового целого BCD-числа на одноразрядное BCD-число размером 1 байт (макрокоманда)

    - Преобразование упакованного BCD-числа размером N байт в неупакованное BCD-число (макрокоманда)

    - Преобразование неупакованного BCD-числа размером N байт в упакованное BCD-число (макрокоманда)

    - Генерация последовательности случайных чисел

    - Конгруэнтный метод генерации последовательности случайных чисел

    - Мультипликативный конгруэнтный метод генерации последовательности случайных чисел

    - Смешанный конгруэнтный метод генерации последовательности случайных чисел

    - Аддитивный генератор случайных чисел

    - Программа генерации высокослучайных двоичных наборов

  • Глава 2. Сложные структуры данных
  • - Сложные структуры данных

    - Способы распределения памяти

    - Механизм виртуальной памяти Windows

    - Механизм работы с кучами Windows

    - Множество

    - Массив

    - Работа с массивами

    - Сортировка массивов

    - Улучшение классических методов сортировки

    - Поиск в массивах

    - Неупорядоченный поиск

    - Упорядоченный поиск

    - Действия с матрицами

    - Структура

    - Вложенные структуры

    - Массивы структур — таблицы

    - Поиск в таблице

    - Неупорядоченные таблицы

    - Древовидные таблицы

    - Упорядоченные таблицы

    - Таблицы с вычисляемыми входами

    - Выбор способа перевода ключевых слов в числовую форму

    - Метод деления

    - Метод умножения

    - Метод квадрата

    - Обработка коллизий

    - Квадратичное рехэширование

    - Список

    - Последовательные списки

    - Стек

    - Очередь

    - Дека

    - Связные списки

    - Односвязные списки

    - Двусвязные списки

    - Сеть

    - Создание односвязного списка переходов для состояния конечного автомата

    - Дерево

    - Представление дерева в памяти

    - Построение двоичного дерева

    - Обход узлов дерева

    - Лексикографическое дерево

    - Элементы компиляции программ

    - Формальное описание языка программирования

    - Описание процесса трансляции программы

    - Лексический анализ

    - Выделение классов лексем

    - Синтаксический анализ

  • Глава 3. Процедуры в программах ассемблера
  • - Процедуры в программах ассемблера

    - Реализация рекурсивных процедур

    - Реализация вложенных процедур

    - Разработка динамических (DLL) библиотек

    - Шаг 1. Разработка текста DLL-библиотеки

    - Шаг 2. Трансляция и компоновка исходного текста DLL-библиотеки

    - Шаг 3. Создание lib-файла

    - Шаг 4. Сборка приложения с использованием DLL-библиотеки

    - Шаг 5. Проверка работоспособности приложения с использованием DLL-библиотеки

  • Глава 4. Обработка цепочек элементов
  • - Обработка цепочек элементов

    - Прямой поиск в текстовой строке

    - Поиск с предварительным анализом искомой подстроки

  • Глава 5. Работа с консолью в программах на ассемблере
  • - Работа с консолью в программах на ассемблере

    - Функции BIOS для работы с консолью

    - Функции MS DOS для работы с консолью

    - Работа с консолью в среде Windows

    - Организация низкоуровнего консольного ввода-вывода

  • Глава б. Преобразование чисел
  • - Преобразование чисел

    - Ввод чисел с консоли

    - Ввод целых десятичных чисел из диапазона 0..99

    - Ввод целых десятичных чисел из диапазона 0..999 999 999 999 999 999

    - Ввод целых десятичных чисел из диапазона 0..до бесконечности

    - Ввод вещественных чисел

    - Вывод чисел на консоль

    - Вывод целых десятичных чисел из диапазона 0..99

    - Вывод целых десятичных чисел из диапазона от 0 до бесконечности

    - Вывод целых десятичных чисел из диапазона 0..999 999 999 999 999 999

    - Вывод вещественных чисел

  • Глава 7. Работа с файлами в программах на ассемблере
  • - Работа с файлами в программах на ассемблере

    - Работа с файлами в MS DOS (имена 8.3)

    - Создание, открытие, закрытие файла

    - Чтение, запись, позиционирование в файле

    - Получение и изменение атрибутов файла

    - Переименовать файл

    - Получить номер заданного по умолчанию дисковода

    - Работа с каталогами

    - Поиск соответствующего шаблону файла

    - Работа с файлами в MS DOS (длинные имена)

    - Работа с дисками, каталогами и организация поиска файлов

    - Файловый ввод-вывод в Win32

    - Создание, открытие, закрытие и удаление файла

    - Чтение, запись, позиционирование в файле

    - Работа с дисками, каталогами и организация поиска файлов

  • Глава 8. Профайлер
  • - Профайлер

    - Расширение традиционной архитектуры Intel

    - Команды RDMSR и WRMSR

    - оманда CPUID — получение информации о текущем процессоре

    - Использование счетчика меток реального времени TSC

  • Глава 9. Вычисление CRC
  • - Вычисление CRC

    - CRC-арифметика

    - Прямой алгоритм вычисления CRC

    - Табличные алгоритмы вычисления CRC

    - Прямой табличный алгоритм CRC32

    - «Зеркальный» табличный алгоритм CRC32

  • Глава 10. Программирование ХММ-расширения
  • - Программирование ХММ-расширения

    - Программирование ХММ-расширения

    - Препроцессор команд ХММ-расширения

  • Заключение
  • - Заключение

    - Примеры