Введение

Несмотря на широкое распространение новых операционных систем, таких как Microsoft Windows 95, Microsoft Windows NT и IBM OS/2 Warp, а также новых технологий программирования, ориентированных на Internet и средства высокого уровня, до сих пор остается актуальным создание программ, работающих с аппаратурой компьютера через порты, прерывания и функции драйверов. Многие разработчики занимаются созданием драйверов для нестандартной аппаратуры, и поэтому нуждаются в описании регистров периферийных устройств и методик работы с этими устройствами на уровне регистров и прерываний.

Перечисленные выше вопросы были рассмотрены нами во 2 томе «Библиотеки системного программиста» с названием «Аппаратное обеспечение IBM PC”, который был издан в 1992 году. С тех пор аппаратура персонального компьютера претерпела определенные изменения, не говоря уже о возникновении и широком распространении новых периферийных устройств. Поэтому мы решили переиздать упомянутый том «Библиотеки системного программиста», обновив и дополнив его новой информацией.

Первая глава нашей книги посвящена определению конфигурации компьютера. Мы научим вас определять состав аппаратных средств компьютера с помощью функций BIOS, а также анализируя содержимое энергонезависимой памяти CMOS. Много внимания мы уделим определению типа центрального процессора. С помощью программы, исходные тексты которой есть в первой главе, можно распознать процессоры начиная от теперь уже исторической модели Intel 8086 до суперсовременного Intel Pentium II.

Во второй главе мы расскажем о работе с клавиатурой на уровне портов ввода/вывода, прерываний, функций BIOS и MS-DOS. Вся эта информация необходима разработчикам диалоговых программ для операционной системы MS-DOS. Что же касается приложений Microsoft Windows, то способы работы с клавиатурой в среде этой операционной системы мы описали в 11 томе “Библиотеки системного программиста”, который называется “Операционная система Microsoft Windows для программиста”.

Третья глава посвящена мыши. Это устройство удобно для пользователя, поэтому вам не стоит игнорировать мышь в своих программах. Помимо традиционных функций драйвера мыши мы описали методику программирования новой мыши Microsoft IntelliPoint в среде Microsoft Windows (в среде MS-DOS эта мышь работает как обычная двухкнопочная). Мышь Microsoft IntelliPoint имеет новый орган управления - небольшое колесико, которое можно вращать, а также нажимать подобно обычной клавише.

В четвертой главе описаны способы работы с часами реального времени. Вы можете применять эти часы для определения текущей даты и времени или для установки будильника, после срабатывания которого компьютер начнет выполнять какие-либо действия.

В пятой главе мы рассмотрели другое устройство компьютера, имеющее отношение ко времени - системный таймер. Этот таймер удобно использовать для организации программных задержек, для генерации звуковых сигналов, как простых, так и музыкальных, а также как генератор случайных чисел.

В шестой и седьмой главах нашей книги мы рассмотрели последовательный асинхнонный адаптер и параллельный адаптер. Первый из них чаще всего используется для подключения модема, а второй - для подключения принтера. Пользуясь информацией, приведенной в нашей книге, вы сможете программировать эти адаптеры на уровне портов ввода/вывода, функций BIOS и MS-DOS.

Восьмая глава посвящена контроллеру прямого доступа к памяти. В ней мы рассказали о назначении портов этого контроллера в компьютерах IBM PC/XT и IBM PC/AT.

В девятой главе описана методика работы с устройством чтения компакт-дисков, которым сейчас оборудован практически каждый компьютер. Мы рассмотрели применение функций программного расширения MSCDEX, а также команд драйвера устройства чтения компакт-дисков. Эта информация поможет вам определить различные характеристики устройства и параметры компакт-дисков, такие, например, как способность проигрывать звуковые компакт-диски, количество, размер и тип дорожек на компакт-диске и так далее. Обращаясь непосредственно к драйверу устройства, ваша программа сможет выполнять непосредственное чтение секторов и дорожек компакт-диска, запускать и останавливать проигрывание звуковых дорожек и другие аналогичные операции.

Десятая глава необходима тем, кто разрабатывает программы, связанные с вычислениями. В этой главе мы рассказали про арифметический сопроцессор и привели методики его программирования. Этот сопроцессор значительно ускоряет арифметические вычисления, особенно вычисления с плавающей запятой. В качестве примера мы привели исходные тексты программы, проверяющий сопроцессор на наличие ошибки при выполнении команды деления, которая встречалась в первых моделях процессора Pentium.

И, наконец, последняя, одиннадцатая глава посвящена работе с расширенной памятью с помощью интерфейса драйвера HIMEM.SYS XE "HIMEM.SYS" . Используя функции этого интерфейса, ваша программа, предназначенная для операционной системы MS-DOS, сможет воспользоваться расширенной памятью, недоступной для непосредственной адресации в реальном режиме работы процессора.

Исходные тексты всех программ вы можете купить на дискете, которая продается вместе с книгой. Эти тексты, так же как и исходные тексты программ из всех предыдущих томов “Библиотеки системного программиста”, вы можете найти на нашем авторском компакт-диске. Подробая информация об авторском компакт-диске есть в сети Internet на нашем сервере по адресу http://www.glasnet.ru/~frolov или http://www.dials.ccas.ru/frolov.

Благодарности

Мы выражаем благодарность генеральному директору АО “ДиалогНаука” Антимонову Сергею Григорьевичу и его заместителю Лященко Юрию Павловичу за возможность размещения информации о наших книгах на сервере Web по адресу http://www.dials.ccas.ru/frolov, а также за возможность доступа к сети Internet через сервер АО “ДиалогНаука”.

Мы также благодарим корректора Кустова В. С. и сотрудников издательского отдела АО “Диалог-МИФИ” Голубева О. А., Голубева А. О., Дмитриеву Н. В., Виноградову Е. К., Кузьминову О. А.

Авторский компакт-диск

В сентябре 1997 года в продаже появился авторский компакт-диск (как спецвыпуск журнала “Аурамедиа”), на котором вы можете найти наши первые книги серий “Библиотека системного программиста” и “Персональный компьютер. Шаг за шагом” в исходных текстах, дискеты ко всем книгам серии “Библиотека системного программиста”, статьи, написанные нами для периодических изданий, библиотеку программ FreeWare и ShareWare, ссылки на интересные ресурсы Internet, вернисаж художника Алексея Абрамкина и другую информацию.

Компакт-диск можно приобрести непосредственно в издательстве “Аурамедиа” и “Диалог-МИФИ”, а также по подписке.

Как связаться с авторами

Полную информацию о всех наших книгах серий “Библиотека системного программиста” и “Персональный компьютер. Шаг за шагом”, а также дискеты к книгам, статьи и другую информацию вы можете найти в сети Internet на серверах Web по следующим адресам:

http://www.glasnet.ru/~frolov

http://www.dials.ccas.ru/frolov

Вы можете передать нам свои замечания и предложения по содержанию этой и других наших книг через электронную почту по адресам:

frolov@glas.apc.org

frolov.alexandr@usa.net

Если электронная почта вам недоступна, присылайте ваши отзывы в АО “Диалог-МИФИ” по адресу:

115409, Москва, ул. Москворечье, 31, корп. 2,

тел. 324-43-77

Приносим свои извинения за то что не можем ответить на каждое письмо. Мы также не занимаемся продажей и рассылкой книг, дискет, компакт-дисков, рекламы, отдельных фрагментов наших книг и исходных текстов к книгам. По этим вопросам обращайтесь непосредственно в издательство “Диалог-МИФИ”. Авторский комопакт-диск можно приобрести также в издательстве “Аурамедиа”.