Предисловие
Урок 1. Общие сведения об ЭВМ
Урок 2. Архитектура персонального компьютера
Архитектура ЭВМ
Набор регистров
Организация памяти
Типы данных
Формат команд
Обработка прерываний
Урок 3. Простоя программа на ассемблере
Урок 4. Жизненный цикл программы на
ассемблере
Трансляция программы
Компоновка программы
Отладка программы
Утилита MAKE
Урок 5. Структура программы на ассемблере
Синтаксис ассемблера
Директивы сегментации
Простые типы данных ассемблера
Урок 6. Система команд микропроцессора
Системы счисления
Двоичная система счисления
Шестнадцатеричная система счисления
Десятичная система счисления
Перевод чисел из одной системы счисления в
другую
Перевод в десятичную систему счисления
Перевод в двоичную систему счисления
Перевод в шестнадцатеричную систему
счисления
Перевод дробных чисел
Числа со знаком
Структура машинной команды
Способы задания операндов команды
Функциональная классификация машинных
команд
Урок 7. Команды обмена данными
Пересылка данных
Ввод-вывод в порт
Работа с адресами и указателями
Преобразование данных
Работа со стеком
Урок 8. Арифметические команды
Общий обзор
Целые двоичные числа
Десятичные числа
Арифметические операции над целыми
двоичными числами
Сложение двоичных чисел без знака
Сложение двоичных чисел со знаком
Вычитание двоичных чисел без знака
Вычитание двоичных чисел со знаком
Вычитание и сложение операндов большой
размерности
Умножение двоичных чисел без знака
Умножение двоичных чисел со знаком
Деление двоичных чисел без знака
Деление двоичных чисел со знаком
Вспомогательные команды для целочисленных
операций
Команды преобразования типов
Другие полезные команды
Арифметические операции над
двоично-десятичными числам
Неупакованные BCD-числа
Упакованные BCD-числа
Урок 9. Логические команды
Логические данные
Логические команды
Команды сдвига
Линейный сдвиг
Циклический сдвиг
Дополнительные команды сдвига
Примеры работы с битовыми строками
Рассогласование битовых строк
Вставка битовых строк
Извлечение битовых строк
Пересылка битов
Урок 10. Команды передачи управления
Безусловные переходы
Команда безусловного перехода jmp
Процедуры
Условные переходы
Команда сравнения cmp
Команды условного перехода и флаги
Команды условного перехода и регистр exc/cx
Организация циклов
Урок 11. Цепочечные команды
Пересылка цепочек
Команда movs
Команды пересылки байтов, слов и двойных
слов
Сравнение цепочек
Команда cmps
Команды сравнения байтов, слов и двойных
слов
Сканирование цепочек
Команда scas
Сканирование строки байтов, слов,
двойных слов
Загрузка элемента цепочки в аккумулятор
Команда lods
Загрузка в регистр al/ax/eax байтов,
слов, двойных слов
Перенос элемента из аккумулятора в цепочку
Команда stos
Сохранение в цепочке байта, слова,
двойного слова из регистра al/ах/eax
Ввод элемента цепочки из порта ввода-вывода
Вывод элемента цепочки в порт ввода-вывода
Урок 12. Сложные структуры данных
Массивы
Описание и инициализация массива в
программе
Доступ к элементам массива
Типовые операции с массивами
Структуры
Описание шаблона структуры
Определение данных с типом структуры
Методы работы со структурой
Объединения
Записи
Описание записи
Определение экземпляра записи
Работа с записями
Дополнительные возможности обработки
Урок 13. Макросредства языка ассемблера
Псевдооператоры equ и =
Макрокоманды
Макродирективы
Директивы WHILE и REPT
Директива IRP
Директива IRPC
Директивы условной компиляции
Директивы компиляции по условию
Директивы генерации ошибок
Константные выражения в условных директивах
Дополнительное управление трансляцией
Урок 14. Модульное программирование
Технологии программирования
Структурное программирование
Концепция модульного программирования
Процедуры в языке ассемблера
Организация интерфейса с процедурой
Связь ассемблера с языками высокого уровня
Связь Pascal- ассемблер
Команды enter и leave
Связь С - ассемблер
Урок 15. Прерывания
Контроллер прерываний
Программирование контроллера прерываний
i8259A
ICW1 - определить особенности
последовательности приказов
ICW2 - определение базового адреса
ICW3 - связь контроллеров
ICW4 - дополнительные особенности
обработки прерываний
OCW1 - управление регистром масок IMR
OCW2 - управление приоритетом
OCW3 - общее управление контроллером
Каскадирование микросхем i8259A
Реальный режим работы микропроцессора
Обработка прерываний в реальном режиме
Урок 16. Защищенный режим работы
микропроцессора
Системные регистры микропроцессора
Регистры управления
Регистры системных адресов
Регистры отладки
Структуры данных защищенного режима
Пример программы защищенного режима
Подготовка таблиц глобальных
дескрипторов GDT
Запрет обработки аппаратных прерываний
Переключение микропроцессора в
защищенный режим
Работа в защищенном режиме
Переключение микропроцессора в реальный
режим
Разрешение прерываний
Стандартное для MS-DOS завершение работы
программы
Урок 17. Обработка прерываний в защищенном
режиме
Шлюз ловушки
Шлюз прерывания
Шлюз задачи
Инициализация таблицы IDT
Обработчики прерываний
Программирование контроллера прерываний
8259А
Загрузка регистра IDTR
Урок 18. Создание Windows-приложений на
ассемблере
Каркасное Windows-приложение на C/C++
Каркасное Windows-приложение на ассемблере
Стартовый код (строки 54-73)
Главная функция (строки 74-162)
Обработка сообщений в оконной функции
Средства TASM для разработки
Windows-приложений
Углубленное программирование на ассемблере
для Win32
Ресурсы Windows-приложений на языке
ассемблера
Меню в Windows-приложениях
Перерисовка изображения
Окно диалога в Windows-приложениях
Урок 19. Архитектура и программирование
сопроцессора
Архитектура сопроцессора
Регистр состояния swr
Регистр управления cwr
Регистр тегов twr
Форматы данных
Двоичные целые число
Упакованные целые десятичные (BCD) числа
Вещественные числа
Специальные численные значения
Система команд сопроцессора
Команды передачи данных
Команды загрузки констант
Команды сравнения данных
Арифметические команды
Команды трансцендентных функций
Команды управления сопроцессором
Исключения сопроцессора и их обработка
Исключение недействительная операция
Деление на ноль
Денормализация операнда
Переполнение и антипереполнение
Неточный результат
Немаскируемая обработка исключений
Использование отладчика
Общие рекомендации по программированию
сопроцессора
Урок 20. ММХ-технология микропроцессоров
Intel
MMX-расширение архитектуры микропроцессора
Pentium
Модель целочисленного ММХ-расширения
Особенности команд MMX-расширение
Система команд
Отладка программ
Пример применения ММХ-технологии
Дополнительные целочисленные ММХ-команды
(Pentium III)
XMM-расширение архитектуры микропроцессора
Pentium
Модель ХММ-расширения
Система команд
Вместо заключения