Assembler для DOS, Windows и UNIX. С. Зубков

Assembler для DOS, Windows и UNIX

С. Зубков С. Зубков
Автор
ИздательствоДМК
Год издания2015
Страниц638
ПереплетМягкая обложка
ИзданиеОдиннадцатое издание
Формат60x88/16 (145x210 мм, стандартный)
ISBN978-5-97060-158-7
ИзготовительООО "Издательство ДМК Пресс". 105094, РФ, г. Москва, Семеновская наб., д. 3/1-4-113
ИмпортерООО «НТЦ АПИ», г. Минск, ул. Уманская, 54, пом. 1, каб. 34

В книге описываются все аспекты современного программирования на ассемблере для DOS, Windows и Unix (Solaris, Linux и FreeBSD), включая создание резидентных программ и драйверов, прямое программирование периферийных устройств, управление защищенным режимом и многое другое.

В книге описываются все аспекты современного программирования на ассемблере для DOS, Windows и Unix (Solaris, Linux и FreeBSD), включая создание резидентных программ и драйверов, прямое программирование периферийных устройств, управление защищенным режимом и многое другое. Подробно рассмотрена архитектура процессоров Intel вплоть до Pentium II. Все главы иллюстрированы подробными примерами работоспособных программ.

Книга ориентирована как на профессионалов, так и на начинающих без опыта программирования.

Содержание

  • Введение
  • Глава 1. Предварительные сведения
    • Что нужно для работы с ассемблером
    • Представление данных в компьютерах
    • Двоичная система счисления
    • Биты, байты и слова
    • Шестнадцатеричная система счисления
    • Числа со знаком
    • Логические операции
    • Коды символов
    • Организация памяти
  • Глава 2. Процессоры Intel в реальном режиме
    • Регистры процессора
    • Регистры общего назначения
    • Сегментные регистры
    • Стек
    • Регистр флагов
    • Способы адресации
    • Регистровая адресация
    • Непосредственная адресация
    • Прямая адресация
    • Косвенная адресация
    • Адресация по базе со сдвигом
    • Косвенная адресация с масштабированием
    • Адресация по базе с индексированием
    • Адресаций по базе с индексированием и масштабированием
    • Основные непривилегированные команды
    • Пересылка данных
    • Двоичная арифметика
    • Десятичная арифметика
    • Логические операции
    • Сдвиговые операции
    • Операции над битами и байтами
    • Команды передачи управления
    • Строковые операции
    • Управление флагами
    • Загрузка сегментных регистров
    • Другие команды
    • Числа с плавающей запятой
    • Типы данных FPU
    • Регистры FPU
    • Исключения FPU
    • Команды пересылки данных FPU
    • Базовая арифметика FPU
    • Команды сравнения FPU
    • Трансцендентные операции FPU
    • Константы FPU
    • Команды управления FPU
    • Расширение IA ММХ
    • Регистры ММХ
    • Типы данных ММХ
    • Команды пересылки данных ММХ
    • Команды преобразования типов ММХ
    • Арифметические операции ММХ
    • Команды сравнения ММХ
    • Логические операции ММХ
    • Сдвиговые операции ММХ
    • Команды управления состоянием ММХ
    • Расширение AMD 3D
    • Расширение SSE
    • Регистры SSE
    • Типы данных SSE
    • Команды SSE
    • Определение поддержки SSE
    • Исключения
  • Глава 3. Директивы и операторы ассемблера
    • Структура программы
    • Директивы распределения памяти
    • Псевдокоманды определения переменных
    • Структуры
    • Организация программы
    • Сегменты
    • Модели памяти и упрощенные директивы определения сегментов
    • Порядок загрузки сегментов
    • Процедуры
    • Конец программы
    • Директивы задания набора допустимых команд
    • Директивы управления программным счетчиком
    • Глобальные объявления
    • Условное ассемблирование
    • Выражения
    • Макроопределения
    • Блоки повторений
    • Макрооператоры
    • Другие директивы, используемые в макроопределениях
    • Другие директивы
    • Управление файлами
    • Управление листингом
    • Комментарии
  • Глава 4. Основы программирования для MS DOS
    • Программа типа СОМ
    • Программа типа ЕХЕ
    • Вывод на экран в текстовом режиме
    • Средства DOS
    • Средства BIOS
    • Прямая работа с видеопамятью
    • Ввод с клавиатуры
    • Средства DOS
    • Средства BIOS
    • Графические видеорежимы
    • Работа с VGA-режимами
    • Работа с SVGA-режимами
    • Работа с мышью
    • Другие устройства
    • Системный таймер
    • Последовательный порт
    • Параллельный порт
    • Работа с файлами
    • Создание и открытие файлов
    • Чтение и запись в файл
    • Закрытие и удаление файла
    • Поиск файлов
    • Управление файловой системой
    • Управление памятью
    • Обычная память
    • Область памяти UMB
    • Область памяти НМА
    • Интерфейс EMS
    • Интерфейс XMS
    • Загрузка и выполнение программ
    • Командные параметры и переменные среды
  • Глава 5. Более сложные приемы программирования
    • Управляющие структуры
    • Структуры IF... THEN... ELSE...
    • Структуры CASE
    • Конечные автоматы
    • Циклы
    • Процедуры и функции
    • Передача параметров
    • Локальные переменные
    • Вложенные процедуры
    • Вложенные процедуры со статическими ссылками
    • Вложенные процедуры с дисплеями
    • Целочисленная арифметика повышенной точности
    • Сложение и вычитание
    • Сравнение
    • Умножение
    • Деление
    • Вычисления с фиксированной запятой
    • Сложение и вычитание
    • Умножение
    • Деление
    • Трансцендентные функции
    • Вычисления с плавающей запятой
    • Популярные алгоритмы
    • Генераторы случайных чисел
    • Сортировки
    • Перехват прерываний
    • Обработчики прерываний
    • Прерывания от внешних устройств
    • Повторная входимость
    • Резидентные программы
    • Пассивная резидентная программа
    • Мультиплексорное прерывание
    • Выгрузка резидентной программы из памяти
    • Полурезидентные программы
    • Взаимодействие между процессами
    • Программирование на уровне портов ввода-вывода
    • Клавиатура
    • Последовательный порт
    • Параллельный порт
    • Видеоадаптеры VGA
    • Таймер
    • Динамик
    • Часы реального времени и CMOS-память
    • Звуковые платы
    • Контроллер DMA
    • Контроллер прерываний
    • Джойстик
    • Драйверы устройств в DOS
    • Символьные устройства
    • Блочные устройства
  • Глава 6. Программирование в защищенном режиме
    • Адресация в защищенном режиме
    • Интерфейс VCPI
    • Интерфейс DPMI
    • Переключение в защищенный режим
    • Функции DPMI управления дескрипторами
    • Передача управления между режимами в
    • DPMI
    • Обработчики прерываний
    • Пример программы
    • Расширители DOS
    • Способы объединения программы с
    • расширителем
    • Управление памятью в DPMI
    • Вывод на экран через линейный кадровый буфер
  • Глава 7. Программирование для Windows 95/NT
    • Первая программа
    • Консольные приложения
    • Графические приложения
    • Окно типа MessageBox
    • Окна
    • Меню
    • Диалоги
    • Полноценное приложение
    • Динамические библиотеки
    • Драйверы устройств
  • Глава 8. Ассемблер и языки высокого уровня
    • Передача параметров
    • Конвенция Pascal
    • Конвенция С
    • Смешанные конвенции
    • Искажение имен
    • Встроенный ассемблер
    • Ассемблер, встроенный в Pascal
    • Ассемблер, встроенный в С
  • Глава 9. Оптимизация
    • Высокоуровневая оптимизация
    • Оптимизация на среднем уровне
    • Вычисление констант вне цикла
    • Перенос проверки условия в конец цикла
    • Выполнение цикла задом наперед
    • Разворачивание циклов
    • Низкоуровневая оптимизация
    • Общие принципы низкоуровневой оптимизации
    • Особенности архитектуры процессоров
    • Pentium и Pentium ММХ
    • Особенности архитектуры процессоров
    • Pentium Pro и Pentium II
  • Глава 10. Процессоры Intel в защищенном режиме
    • Регистры
    • Системные флаги
    • Регистры управления памятью
    • Регистры управления процессором
    • Отладочные регистры
    • Машинно-специфичные регистры
    • Системные и привилегированные команды
    • Вход и выход из защищенного режима
    • Сегментная адресация
    • Модель памяти в защищенном режиме
    • Селектор
    • Дескрипторы
    • Пример программы
    • Нереальный режим
    • Обработка прерываний и исключений
    • Страничная адресация
    • Механизм защиты
    • Проверка лимитов
    • Проверка типа сегмента
    • Проверка привилегий
    • Выполнение привилегированных команд
    • Защита на уровне страниц
    • Управление задачами
    • Сегмент состояния задачи
    • Переключение задач
    • Режим виртуального 8086
    • Прерывания в V86
    • Ввод-вывод в V86
  • Глава 11. Программирование на ассемблере в среде UNIX
    • Синтаксис AT&T
    • Основные правила
    • Запись команд
    • Адресация
    • Операторы ассемблера
    • Префиксные, или унарные, операторы
    • Инфиксные, или бинарные, операторы
    • Директивы ассемблера
    • Директивы определения данных
    • Директивы управления символами
    • Директивы определения секций
    • Директивы управления разрядностью
    • Директивы управления программным указателем
    • Директивы управления листингом
    • Директивы управления ассемблированием
    • Блоки повторения
    • Макроопределения
    • Программирование с использованием libc
    • Программирование без использования libc
    • Переносимая программа для UNIX
  • Заключение
  • Приложение 1. Таблицы символов
    • Символы ASCII
    • Управляющие символы ASCII
    • Кодировки второй половины ASCII
    • Коды символов расширенного ASCII
    • Скан-коды клавиатуры
  • Приложение 2. Команды Intel 80х86
    • Общая информация о кодах команд
    • Общий, формат команды процессора Intel
    • Значения полей кода команды
    • Значения поля ModRM
    • Значения поля SIB
    • Общая информация о скоростях выполнения
    • Префиксы
    • Команды процессоров Intel 8088 - Pentium III
  • Используемые сокращения
  • Глоссарий
  • Алфавитный указатель

Похожие лоты

Вход

В течение нескольких секунд вам придёт SMS с одноразовым кодом для входа. Если ничего не пришло — отправьте код ещё раз.
Это бесплатно, безопасно и займёт всего несколько секунд
Войдите с помощью своего профиля

Регистрация

Введите номер вашего мобильного телефона:
Войдите с помощью электронной почты или номера телефона
Войдите с помощью своего профиля

Восстановление пароля

Укажите адрес электронной почты, который вы использовали при регистрации
Нужна помощь? Напишите нам

Восстановление пароля

Инструкции по восстановлению пароля высланы на 
Нужна помощь? Напишите нам