Справочник программиста на персональном компьютере фирмы IBM. Системные ресурсы

ОГЛАВЛЕНИЕ

Раздел 1. Ревизия системных ресурсов.
Доступ к микросхеме интерфейса с периферией 8255.
Определение типа IBM PC.
Определение версии MS DOS.
Определение числа и типов адаптеров дисплея.
Определение числа и типа дисковых накопителей.
Определение числа и типа периферийных устройств.
Ревизия количества памяти.
Раздел 2. Управление прерываниями.
Программирование контроллера прерываний 8259.
Запрет/разрешение отдельных аппаратных прерываний.
Написание собственного прерывания.
Дополнение к существующему прерыванию.
Раздел 3. Управление программами.
Манипуляции с памятью.
Запуск одной программы из другой.
Использование команд интерфейса с пользователем из программы.
Сохранение программы в памяти после завершения.
Загрузка и запуск программных оверлеев.
Преобразование программ из типа .EXE в тип .COM.

Глава 1. Системные ресурсы.

Раздел 1. Ревизия системных ресурсов.

Одной из первых задач после загрузки задачи является проверка
куда мы попали: на каком типе IBM PC запущена задача?... под
какой версией MS DOS?... сколько имеется памяти?... все ли необ-
ходимое оборудование присутствует? Имеется три способа получения
этой информации. Наименее элегантный способ - спросить об этом у
пользователя (но знает ли он ответы?). Намного лучше получить всю
доступную информацию из установки переключателей на системной
плате. Но эта установка не всегда соответствует реальности. Поэ-
тому лучше всего использовать третью возможность - получить пря-
мой доступ к требуемому оборудованию или прочитать нужную инфор-
мацию из области данных BIOS. Поскольку установка переключателей
может служить отправной точкой для получения требуемой информа-
ции, то этот раздел начинается с обсуждения микросхемы, содержа-
щей эту информацию - микросхемы интерфейса с периферией 8255.
Программа может получить доступ к оборудованию только двумя
способами. Она может обратиться к любому из портов ввода/вывода,
соответствующему присоединенному оборудованию (обычно бывает
занята лишь малая доля из 65535 возможных адресов портов). Или
программа может обратиться к любому из более чем миллиону адресов
оперативной памяти. Сводная таблица адресов портов приведена в
[7.3.0]. На рис. 1-1 показано как распределены в памяти опера-
ционная система и программы.