П. Нортон
ПРОГРАММНО-АППАРАТНАЯ ОРГАНИЗАЦИЯ КОМПЬЮТЕРА IBM PC
(INSIDE THE IBM PC.ACCESS TO ADVANCED FEATURES AND PROGRAMMING)
Prentice-Hall Publishing Comp., 1984
Перевод с английского
С.Писарева, Б.Шура
Киев 1987
ОГЛАВЛЕНИЕ
ГЛАВА 1. ВВЕДЕНИЕ В СФЕРУ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ
1.1. Краткий обзор содержания книги
1.2. Вспомогательные обучающие средства
1.3 Используемые программные средства, языки программирования и
тексты программ
1.4. Возможные аспекты рассмотрения проблемы
1.5. Обзор оригинальных источников, используемых в данной работе
1.6. Некоторые особенности изложения материала
Приложение 1.1. Текст программы визуализации всех символов на экране
дисплея (язык Бейсик)
ГЛАВА 2. АРХИТЕКТУРА ТЕХНИЧЕСКИХ СРЕДСТВ
2.1. Микропроцессор - центральный узел персонального компьютера
2.2. Краткие сведения об остальных компонентах компьютера
2.3. Функциональные назначения этих компонентов
2.4. Использование разъемов расширения
2.5. Дополнительные сведения о технических средствах
2.6. Три аспекта рассмотрения архитектурных решений
2.7. Возможности комплектации IBM/PC
ГЛАВА 3. ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ IBM/PC
3.1. Организация памяти персонального компьютера
3.2. Принципы адресации
3.3. Сверхоперативная память на регистрах
3.5. Прерывания
3.6. Стеки
3.7. Порты
Приложение 3.1. Текст программы поиска активного участка памяти
(Бейсик)
Приложение 3.2. Текст программы обработки прерываний (Ассемблер)
Приложение 3.3. Текст программы поиска активных портов (Паскаль)
Приложение 3.4. Текст программы считывания данных из порта
(Ассемблер)
ГЛАВА 4. АРХИТЕКТУРА И ВОЗМОЖНОСТИ ОПЕРАЦИОННОЙ СИСТЕМЫ
4.1. Для чего нужны операционные системы
4.2. Шесть основных модулей ДОС
4.3. Нижний уровень программной поддержки - система BIOS-ПЗУ
4.4. Процедура начальной загрузки - структура процесса
4.5. Операции с периферийным устройством - компонента IBMBIO.COM
4.6. Ядро операционной системы - компоненты IBMDOS.COM
4.7. "Внутренние" компоненты (команды) операционной системы -
компонента COMMAND.COM
4.8. "Внешние" команды операционной системы - особенности выполнения
и загрузки
4.9. Функции обслуживания пользователем операционной системы
ГЛАВА 5. ОРГАНИЗАЦИЯ ВНЕШНЕЙ ПАМЯТИ
5.1. Устройство гибкого магнитного диска (дискеты)
5.2. Форматы хранения информации
5.3. Типы дискет и проблемы защиты от копирования
5.4. Стандартный накопитель информации на гибких магнитных дисках
5.5. Принципы хранения файлов
5.6. Организация справочников
5.7. Структура таблицы размещения файлов
5.8. Стратегия размещения файлов
5.5. Файлы в текстовом формате
5.10. Форматы записей данных
5.11. Форматы программных (исполняемых файлов)
Приложение 5.1. Текст программы анализа структуры справочника
(Паскаль)
Приложение 5.2. Текст программы анализа структуры таблицы размещения
файлов (Паскаль)
Приложение 5.3. Текст программы обработки справочника и таблицы
размещения файлов (Паскаль)
ГЛАВА 6. РАБОТА С ПЗУ
6.1. Организация ПЗУ и его использование
6.2. Анализ содержимого ПЗУ средствами программы DEBUG
6.3. Анализ содержимого ПЗУ - метод деассемблирования
6.4. Анализ содержимого ПЗУ - реконструкция интерпретатора языка
Бейсик
6.5. Существующие версии BIOSa
6.6. Механизм выборки информации из ПЗУ
6.7. Описание специальных прерываний
Приложение 6.1. Текст программы проверки метки версии ПЗУ (Паскаль)
ГЛАВА 7. ОПЕРАЦИИ С ДИСКАМИ
7.1. Три уровня дисковых операций
7.2. Средства поддержки дисковых операций уровня BIOS-ПЗУ
7.3. Параметры дисков и методы защиты от копирования
ГЛАВА 8. ВИДЕОДОСТУП - ТЕКСТОВЫЙ РЕЖИМ
8.1. Типы видеомониторов
8.2. Принципы отображения информации
8.3. Метод хранения копии изображения в оперативной памяти
8.4. Страничный механизм цветного графического дисплея
8.5. Атрибуты изображений
8.6. Использование цвета
8.7. Режим прямого управления видеомонитором
8.8. Управление перемещением курсора
8.9. Стандартный режим управления видеомонитором
8.10. Псевдографический режим
8.11. Средства управления видеодоступа уровня BIOS-ПЗУ
Приложение 8.1. Текст программы демонстрации возможностей управления
цветом (Бейсик)
Приложение 8.2. Текст программы генерации изображений (Паскаль)
ГЛАВА 9. ВИДЕОДОСТУП - ГРАФИЧЕСКИЙ РЕЖИМ
9.1. Основы машинной графики
9.2. Понятие элемента отображения (пиксель)
9.3. Отображение пикселей на экране
9.5. Генерация текстов в графическом режиме
Приложение 9.1. Текст программы генерации графических образов
(Паскаль)
ГЛАВА 10. БЛОК КЛАВИАТУРЫ
10.1. Принципы построения
10.2. Механизм смены внутренних кодов
10.3. Клавиши управления
10.4. Программная поддержка операций с клавиатурой уровня BIOS-ПЗУ
10.5. Работа с клавиатурой в рамках языковых процессоров
Приложение 10.1. Текст программы демонстрации возможностей управления
клавиатурой (Бейсик)
ГЛАВА 11. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ
11.1. Асинхронный коммуникационный адаптер
11.2. Адаптер устройства печати
11.3. Интерфейс с накопителем информации на магнитной кассете
11.4. Дополнительные процедуры обслуживания уровня BIOS-ПЗУ
11.5. Генерация звука
Приложение 11.1. Текст программы генерации звука с использованием
таймера (Ассемблер)
Глава 1. ВВЕДЕНИЕ В СФЕРУ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ
Книга, предлагаемая читателю, рассказывает о чудесах - о тех чудесах,
которые позволяет творить Персональный Компьютер фирмы "IBM" (IBM/PC).
Появление персонального компьютера фирмы "IBM" знаменовало собой
фактическое введение нового и очень высокого стандарта качества и
производительности персональных компьютеров. Те, кто уже знал и понимал
возможности персональных компьютеров, увидели в IBM/PC новое средство,
превосходящее все то что существовало до сих пор. Те же, кто считал
персональные компьютеры не более чем игрушками, начали осознавать
действительную ценность этих компьютеров в качестве полезнейшего рабочего
инструмента инженера или ученого.
Эта книга отличается от большинства книг, знакомящих читателей с
компьютерами. Она рассчитана на тех читателей, которые не желают
останавливаться на сведениях для начинающих, а хотят узнать действительные
возможности персонального компьютера фирмы "IBM".
Компьютер IBM/PC позволяет реализовать множество интереснейших
возможностей, о которых будет рассказано в данной книге. Эта книга
адресована всем, кого действительно интересует как работает IBM/PC и что
можно делать с ее помощью, независимо от того, является ли читатель
опытным профессионалом или начинающим пользователем компьютеров.
Книга позволяет не только понять как функционирует IBM/PC, но и
обьясняет как можно его использовать на практике. Она предлагает
дополнительный и более глубокий материал об IBM/PC для всех, кто в нем
нуждается. Мы поможем Вам понять не только принципы функционирования
машины, Но и ее потенциальные возможности. Книга содержит множество
советов и практических рекомендаций, касающихся программирования для
IBM/PC. Но не следует считать эту книгу руководством по программированию
для IBM/PC, в основном она посвящена возможностям самого компьютера.
1.1. Краткий обзор содержания книги
Эта книга в основном посвящена программам (или программному
обеспечению), поскольку именно они реализуют большинство возможностей
компьютера. Но помимо этого необходимо рассмотреть и аппаратные средства
компьютера - этому посвящена глава 2.
В главе 3 рассматривается функционирование центрального узла
компьютера - собственно микропроцессора. Операционная система РС-DOS
кратко описывается в главе 4. В этой главе приведены пояснения принципов
работы ДОС и в качестве дополнительного материала описаны программные
средства, обеспечивающие доступ к различным возможностям ДОС.
Далее, в главе 5, рассматривается организация внешней памяти и
способы хранения данных на гибких магнитных дисках. Примеры программ
показывают способы расшифровки служебной информации об организации
хранения данных на дискете, которая обычно скрыта от пользователя.
Глава 6 посвящена программному обеспечению, которое хранится в ПЗУ
(постоянном запоминающем устройстве) IBM/PC. В этой главе показано как
можно пользоваться этими программами. Этот материал подготавливает почву
для изучения глав с 7 по 11, в которых, шаг за шагом, описываются
служебные программы, хранящиеся в ПЗУ. Каждая из этих глав сопровождается
примером программ, позволяющих использовать те или иные возможности
компьютера.
Глава 7 описывает доступ к процедурам работы с дискетами. Главы 8 и 9
описывают работу с дисплеем, соответственно в алфавитно-цифровом и
графическом режимах.
Глава 10 посвящена использованию клавиатуры, а глава 11 подводит
итоги рассмотрения всего предыдущего материала.
Приложения этой книги включают краткий глоссарий компьютерной
терминологии, введение в Паскаль и описание интерфейса между программами,
написанными на ассемблере, и программами на Паскале или другом языке
высокого уровня.
1.2. Вспомогательные обучающие средства
Если Вы просто хотите узнать побольше об IBM/PC, то Вам не
потребуется ничего, кроме этой книги. Однако, чтобы применить полученные
знания на практике этого будет недостаточно, потребуется, как минимум, сам
компьютер.
Чтобы воспользоваться программами, приведенными в этой книге,
потребуется IBM/PC с 64К байтами памяти и одним дисководом. Все программы
могут работать как с монохромным дисплеем, так и с цветным графическим
адаптером. Потребуется также операционная система ДОС и поставляемые
вместе с нею средства, такие как программа DEBUG. Можно воспользоваться
любой версией ДОС: исходной версией 1.00, неофициальной и временной
версией 1.05, усовершенствованной версией 1.10 или ДОС 2.00.
Чтобы как можно полнее использовать все возможности, предоставляемые
IBM/PC, Вам потребуется дополнительный пакет программ на гибких магнитных
дисках, прилагаемый к этой книге. Средства доступа ко всем возможностям
IBM/PC были разработаны специально для этой книги. Содержимое пакета
описывается в приложении 5.
Вам не нужно будет использовать Макроассемблер фирмы "IBM" для
использования представленных в книге процедур доступа, написанных на
ассемблере. Все эти программы включены в пакет программ в виде готовых к
использованию обьектных модулей. Однако, если Вам захочется внести
изменения в ассемблерную программу, чтобы адаптировать ее к своим нуждам,
то потребуется и ассемблер, и необходимо будет освоить язык ассемблера.
Один из разделов этой книги представляет собой простое введение в
использование ассемблера.
Чтобы использовать приведенные в книге программы на языке Паскаль
либо сами по себе, либо в составе Ваших собственных программ, Вам
потребуется компилятор языка Паскаль для IBM/PC.
И, наконец, Вам может потребоваться копия "Сервисных программ
Нортона" (The Norton Utilities). Она включает программу восстановления