Описание процессора intel-486
Содержание
Глава 1. Введение в описание процессора i486
1.1 Структура данного руководства
1.1.1 Часть I. Прикладное программирование
1.1.2 Часть II. Системное программирование
1.1.3 Часть III. Численная обработка
1.1.4 Часть IV. Совместимость
1.1.5 Часть V. Набор команд
1.1.6 Приложения
1.2 Дополнительная литература
1.3 Соглашения об используемых обозначениях
1.3.1 Порядок битов и байтов
1.3.2 Неопределенные биты и байты
1.3.3 Операнды команд
1.3.4 Шестнадцатиричные числа
1.3.5 Сегментная адресация
1.3.6 Исключения (особые ситуации)
Часть I. Прикладное программирование
Глава 2. Основная программная модель
2.1 Организация памяти
2.1.1 Несегментированная или "плоская" модель
2.1.2 Сегментированаая модель
2.2 Типы данных
2.3 Регистры
2.3.1 Регистры общего назначения
2.3.2 Регистры сегментов
2.3.3 Реализация стека
2.3.4 Регистры флагов
2.3.4.1 Флаги состояния
2.3.4.2 Управляющий флаг
2.3.4.3 Указатель
2.4 Формат команд
2.5 Выбор операнда
2.5.1 Непосредственные операнды
2.5.2 Регистровые операнды
2.5.3 Операнды в памяти
2.5.3.1 Выбор сегмента
2.5.3.2 Вычисление эффективного (исполнительного) адреса
2.6 Прерывания и исключения
Глава 3. Прикладное программирование
3.1 Команды пересылки данных
3.1.1 Команды пересылки данных общего назначения
3.1.2 Команды работы по стеком
3.1.3 Команды преобразования типов
3.2 Команды двоичной арифметики
3.2.1 Команды сложения и вычитания
3.2.2 Команды сравнения и изменения знака
3.2.3 Команды умножения
3.2.4 Команды деления
3.3 Команды десятичной арифметики
3.3.1 Команды коррекции упакованного BCD
3.3.2 Команды коррекции неупакованного BCD
3.4 Логические команды
3.4.1 Команды булевых операций
3.4.2 Команды проверки и модификации битов
3.4.3 Команды сканирования битов
3.4.4 Команды смещения (сдвига) и циклического сдвига
3.4.4.1 Команды сдвига
3.4.4.2 Команды двойного сдвига
3.4.4.3 Команды циклического сдвига
3.4.4.4 Быстрый "bit blt" с использованием команд двойного сдвига
3.4.4.5 Быстрая вставка и исключение битовых строк
3.4.5 Команды установки байта по условию
3.4.6 Команда проверки
3.5 Команды передачи управления
3.5.1 Команды безусловной передачи управления
3.5.1.1 Команда перехода
3.5.1.2 Команда вызова процедур
3.5.1.3 Команда возврата и возврата-из-прерывания
3.5.2 Команды условной передачи управления
3.5.2.1 Команды условного перехода
3.5.2.2 Команды управления циклом
3.5.2.3 Выполнение цикла или повтор ноль раз
3.5.3 Програмные прерывания
3.6 Команды работы со строками
3.6.1 Префиксы повторения
3.6.2 Флаги управления индексированием и направлением
3.6.3 Команды работы со строками
3.7 Команды для языков с блочной структурой
3.8 Команды управления флагами
3.8.1 Команды управления флагами переноса и управления
3.8.2 Команды пересылки флага
3.9 Числовые команды
3.10 Команды работы с сегментными регистрами
3.10.1 Команды пересылки сегмент-регистр
3.10.2 Команды дальней передачи управления
3.10.3 Команды работы указатель на данные
3.11 Остальные команды
3.11.1 Команда вычисления адреса
3.11.2 Команда нет операции
3.11.3 Команда трансляции
3.11.4 Команда перестановки байтов
3.11.5 Команда заменить-и-сложить
3.11.6 Команда сравнить-и-заменить