Справочник программиста на персональном компьютере фирмы IBM. Системные ресурсы
|
Страница 1 из 20 Зачем нужно программировать на языке ассемблера? Сегодня обычно используют такие языки высокого уровня, как Бейсик, Фортран или Паскаль. Возможно, что и вы знакомы по крайней мере с одним из языков высокого уровня. Если вы используете IBM PC, то знаете, что она имеет интерпретатор Бейсика. Зачем же нужен еще один язык программирования, особенно такой, который сулит определенные трудности? Даже располагая сегодня языками высокого уровня, вы все равно нуждаетесь в языке ассемблера в силу его эффективности и четкости. Программы на языке ассемблера могут быть очень эффективными. В случае работы программистов одинаковой квалификации и равной одаренности программа, составленная на языке ассемблера, будет короче и более быстро выполнимой, чем точно такая же программа на языке высокого уровня. Это остается верным фактически для всех небольших и средних программ.
Раздел 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 показано как распределены в памяти опера- ционная система и программы. |