Питер
Абель
АССЕМБЛЕР И ПРОГРАММИРОВАНИЕ ДЛЯ IBM PC
Peter Abel
IBM PC ASSEMBLER
LANGUAGE AND PROGRAMMING
ОГЛАВЛЕНИЕ
Предисловие переводчика
Предисловие
1.
Введение в семейство персональных
компьютеров IBM PC
-
Введение
-
Биты и байты
-
ASCII код
-
Двойные числа
-
Шестнадцатеричное представление
-
Сегменты
-
Регистры
-
Архитектура персональных
компьютеров
-
Основные положения на память
-
Вопросы для самопроверки
2.
Выполнение программы
-
Введение
-
Начало работы
-
Просмотр памяти
-
Пример машинных кодов:
непосредственные данные
-
Пример машинных кодов:
определенные данные
-
Машинная адресация
-
Пример машинных кодов:
определение размера памяти
-
Свойства отладчика
-
Основные положения на память
-
Вопросы для самопроверки
3.
Формат языка ассемблера
-
Введение
-
Комментарии
-
Формат кодирования
-
Псевдокоманды
-
Указатели памяти и регистров
-
Инициализация программы
-
Пример исходной программы
-
Основные положения на память
-
Вопросы для самопроверки
4.
Ассемблирование и выполнение
программы
-
Введение
-
Ввод программы
-
Подготовка программы для
выполнения
-
Ассемблирование программы
-
Компоновка загрузочного модуля
-
Выполнение программы
-
Пример исходной программы
-
Файл перекрестных ссылок
-
Основные положения на память
-
Вопросы для самопроверки
5.
Определение данных
-
Введение
-
Псевдокоманды определения данных
-
Определение байта (DB)
-
Определение слова (DW)
-
Определение двойного слова (DD)
-
Определение "четверного" слова (DQ)
-
Определение десяти байт (DT)
-
Непосредственные операнды
-
Псевдокоманда (директива) EQU
-
Основные положения на память
-
Вопросы для самопроверки
6.
Программные COM-файлы
7.
Логика и организация программы
-
Введение
-
Команда JMP
-
Команда LOOP
-
Фланговый регистр
-
Команды условного перехода
-
Процедуры и вызовы (CALL)
-
Стековый сегмент
-
Программа: команды длинной
пересылки
-
Логические команды:
AND, OR, XOR, TEST, NOT
-
Программа: изменение нижнего и
верхнего регистров
-
Сдвиги и ротация
-
Организация программы
-
Основные положения на память
-
Вопросы для самопроверки
8.
Работы с экраном I: Основные
возможности
-
Введение
-
Команда прерывания: INT
-
Установка курсора
-
Очистка экрана
-
Команды экрана и клавиатуры:
Базовая DOS
-
Ввод на экран: стандарт DOS
-
Программа: Ввод набора ASCII
символов
-
Ввод с клавиатуры: Базовая DOS
-
Программа: Ввод имен с
клавиатуры и вывод на экран
-
Команды экрана и клавиатуры:
Расширенная DOS
-
Вывод на экран: Расширенная DOS
-
Ввод с клавиатуры: Расширенная
DOS
-
Использование CR, LF, TAB для
вывода на экран
-
Основные положения на память
-
Вопросы для самопроверки
9.
Работа с экраном II: Расширенные
возможности
-
Введение
-
Байт атрибутов
-
Прерывания BIOS
-
Программа: мигание, видеореверс,
скроллинг
-
Расширенные ASCII коды
-
Другие команды ввода/вывода DOS
-
BIOS INT 16H для ввода с
клавиатуры
-
Дополнительные функциональные
клавиши
-
Основные положения на память
-
Вопросы для самопроверки
10.
Работа с экраном III: Цвет и графика
-
Введение
-
Текстовый (алфавитно-цифровой)
режим
-
Графический режим
-
Режим средней разрешающей
возможности
-
Программа: Установка цвета и
графического режима
-
Основные положения на память
-
Вопросы для самопроверки
11.
Обработка строк
-
Введение
-
Особенности команд обработки
строк
-
REP: Префикс повторения строки
-
MOVS: Пересылка строки
-
LODS: Загрузка строки
-
STOS: Сохранение строки
-
CMPS: Сравнение строк
-
SCAS: Сканирование строки
-
Сканирование и замена
-
Альтернативное кодирование
-
Дублирование шаблона (образца)
-
Программа: Выравнивание справа
при выводе на экран
-
Основные положения на память
-
Вопросы для самопроверки
12.
Арифметика I: Обработка двоичных
данных
-
Введение
-
Сложение и вычитание
-
Беззнаковые и знаковые данные
-
Умножение
-
Сдвиг регистров DX:AX
-
Деление
-
Преобразование знака
-
Процессоры Intel 8087 и 80287
-
Основные положения на память
-
Вопросы для самопроверки
13.
Арифметика II: Обработка ASCII и BCD
данных
-
Введение
-
ASCII формат
-
Двоично-десятичный формат (BCD)
-
Преобразование ASCII формата в
двоичный формат
-
Преобразование двоичного формата
в ASCII формат
-
Сдвиг и округление
-
Программа: Расчет зарплаты
-
Основные положения на память
-
Вопросы для самопроверки
14.
Обработка таблиц
-
Введение
-
Определение таблиц
-
Прямой табличный доступ
-
Поиск в таблице
-
Команда перекодировки
(трансляции) (XLAT)
-
Программа: Вывод
шестнадцатеричных и ASCII кодов
-
Программа: Сортировка элементов
таблицы
-
Операторы TYPE, LENGTH и SIZE
-
Основные положения на память
-
Вопросы для самопроверки
15.
Дисковая память I: Организация
16.
Дисковая память II: Функции базовой
DOS
-
Введение
-
Управляющий блок файла: FCB
-
Использование FCB для создания
дискового файла
-
Программа: FCB для создания
дискового файла
-
Последовательное чтение
дискового файла
-
Программа: FCB для чтения
дискового файла
-
Прямой доступ
-
Программа: Прямое чтение
дискового файла
-
Прямой блочный доступа
-
Программа: Прямое чтение блока
-
Абсолютный дисковый ввод/вывод
-
Другие возможности
-
Программа: Выборочное удаление
файлов
-
Основные положения на память
-
Вопросы для самопроверки
17.
Дисковая память III: Функции
расширенной DOS
-
Введение
-
Строка ASCIIZ
-
Номер файла и коды возврата по
ошибкам
-
Создание дискового файла
-
Программа: Использование номера
для чтения файла
-
ASCII файлы
-
Другие функции расширенной DOS
-
Основные положения на память
-
Вопросы для самопроверки
18.
Дисковая память IV: Команды
ввода/вывода BIOS
19.
Печать
-
Введение
-
Управляющие символы для печати
-
Использование расширенной DOS
для печати
-
Программа: Постраничная печать с
заголовками
-
Печать ASCII файлов и управление
табуляций
-
Печать с использованием базовой
DOS
-
Специальные команды принтера
-
Печать с использованием BIOS INT
17H
-
Основные положения на память
-
Вопросы для самопроверки
20.
Макрокоманды
-
Введение
-
Простое макроопределение
-
Использование параметров в
макрокомандах
-
Комментарии
-
Использование макро внутри
макроопределения
-
Директива LOCAL
-
Подключение библиотеки
макроопределений
-
Конкатенация (&)
-
Повторение: REPT, IRP и IRPC
-
Условные директивы
-
Директива EXITM
-
Макрокоманды, использующие IF и
IFNDEF условия
-
Макрокоманды, использующие IFIDN
условие
-
Основные положения на память
-
Вопросы для самопроверки
21.
Компоновка программ
-
Введение
-
Межсегментные вызовы
-
Атрибуты EXTRN и PUBLIC
-
Программа: Использование EXTRN и
PUBLIC для меток
-
Программа: Использование PUBLIC
в кодовом сегменте
-
Программа: Общие данные в
подпрограммах
-
Передача параметров
-
Связь Бейсик-интерпретатор -
ассемблер
-
Связь Паскаль - ассемблер
-
Связь C - ассемблер
-
Основные положения на память
-
Вопросы для самопроверки
22.
Программный загрузчик
23.
BIOS и DOS прерывания
-
Введение
-
Обслуживание прерываний
-
BIOS прерывания
-
DOS прерывания
-
Функции DOS INT 21H
-
Резидентные программы
-
Порты
-
Генерация звука
24.
Справочник по директивам ассемблера
-
Введение
-
Индексная память
-
Команды ассемблера
-
Директивы ассемблера
25.
Справочник по командам ассемблера
Приложения
1. ASCII коды
2. Шестнадцатерично-десятичные
преобразования
3. Зарезервированные слова
4. Режимы ассемблирования и
компоновки
Ответы на некоторые вопросы
|