Online Library TheLib.net » Аппаратное обеспечение персонального компьютера. Часть 1
cover of the book Аппаратное обеспечение персонального компьютера. Часть 1

Ebook: Аппаратное обеспечение персонального компьютера. Часть 1

00
28.01.2024
0
0
Библиотека системного программиста, 33-й том, 1997
В книге приведено описание методик программирования аппаратуры персональных компьютеров, выполненных с применением процессоров Intel, на уровне портов, прерываний DOS и BIOS, а также на уровне функций драйверов.
Подробно описана процедура определения конфигурации компьютера, в том числе типа процессора, рассказано о способах работы с клавиатурой, мышью, часами реального времени, системным таймером, асинхронным портом последовательной передачи данных, параллельным портом, контроллером прерываний и контроллером прямого доступа к памяти. Описаны функции, предназначенные для работы с расширенной памятью, а также команды арифметического сопроцессора. Отдельная глава посвящена работе с драйвером устройства CD-ROM.
Оглавление:
Аннотация
Введение
Благодарности.
Авторский компакт - диск
Как связаться с автором
Определения конфигурации компьютера.
Определение конфигурации с помощью BIOS
Наличие НМД
Наличие арифметического сопроцессора
Начальный режим работы видеоадаптера
Количество установленных НГМД
Наличие контроллера прямого доступа DMA
Количество асинхронных последовательных адаптеров
Игровой адаптер
Последовательный порт компьютера PCjr
Количество параллельных адаптеров
Размер оперативной памяти
Программа HDWCFG
Код модели компьютера и версия BIOS
Программа BIOSINFO
Конфигурация в памяти CMOS
00h - 0Dh - область часов реального времени
0Eh - байт диагностики
0Fh - байт отключения
10h - тип накопителей НГМД
11h - зарезервировано для IBM PC/AT, тип НМД для IBM PS/2
12h - тип первого и второго НМД
13h - зарезервировано
14h - конфигурация оборудования
15h-16h - объем стандартной оперативной памяти
17h-18h - объем расширенной памяти
19h-1Ah тип первого и второго НМД
1Bh-2Dh - зарезервировано
2Eh-2Fh - контрольная сумма ячеек 10h - 20h
30h-31h - объем расширенной памяти
32h текущее столетие
33h - различная информация
34h-3Fh - зарезервировано
Другие ячейки памяти CMOS
Программа CMOSSHOW
Определение типа центрального процессора
Модели Intel 8086/8088
Модель Intel 80286
Модель Intel 80386
Модель Intel 80486
Команда CPUID
Программа CPUINFO
Клавиатура.
Как работает клавиатура
Клавиатурная матрица
Скан-код клавиши
Код ASCII нажатой клавиши
Режим автоповтора
Типы клавиатур
Порты для работы с клавиатурой
Компьютер IBM PC/XT
Современные компьютеры
Программа KBDLED
Аппаратное прерывание клавиатуры
Стандартный обработчик прерывания INT 09h
Буфер клавиатуры
Переключающие клавиши
Средства BIOS для работы с клавиатурой
Чтение символа с ожиданием
Программа KBDSCAN
Проверка буфера на наличие в нем символов
Программа CHKBUF
Получение состояния переключающих клавиш
Установка временных характеристик клавиатуры
Запись символов в буфер клавиатуры
Чтение символа с ожиданием для 101-клавишной клавиатуры
Проверка буфера на наличие в нем символов для 101-клавишной клавиатуры
Получение состояния переключающих клавиш для 101-клавишной клавиатуры
Режимы работы клавиатуры
Сравнение режимов
Изменение режима
Средства MS-DOS для работы с клавиатурой
Буферизованный ввод с эхо-выводом
Буферизованный ввод без эхо-вывода
Нефильтрованный ввод без эхо-вывода
Ввод с консоли и вывод на консоль
Ввод строки символов
Проверка состояния стандартного ввода
Сброс буфера клавиатуры
Клавиатурные функции стандартной библиотеки C
Функции getch и getche
Программа KBDASCII
Функция kbhit
Программа KBDHIT
Функция cgets
Функция gets
Функция scanf
Мышь
Как устроена мышь?
Драйверы мыши в MS-DOS
Прерывание для обслуживания мыши
Инициализация мыши
Включить курсор мыши
Выключить курсор мыши
Программа MSCURSOR
Определить положение курсора
Программа MSGCURS
Установить курсор
Определить положение курсора при нажатии клавиши
Определить положение курсора при отпускании клавиши
Задать диапазон движения курсора по горизонтали
Задать диапазон движения курсора по вертикали
Задать форму курсора в графическом режиме
Программа MSGFORM
Задать форму курсора в текстовом режиме
Программа MSTFORM
Определить содержимое счетчиков перемещения
Установить драйвер событий
Программа MSDRIVER
Включить эмуляцию светового пера
Выключить эмуляцию светового пера
Задать скорость перемещения курсора мыши
Установить область исключения для курсора
Задать увеличенный графический курсор
Определить порог удвоения скорости
Заменить драйвер событий
Определить размер буфера состояния драйвера
Сохранить состояние драйвера
Восстановить состояние драйвера
Установить альтернативный драйвер событий
Получить адрес альтернативного драйвера событий
Установить чувствительность мыши
Определить чувствительность мыши
Установить частоту прерываний для Inport Mouse
Установить номер страницы видеопамяти
Определить номер страницы видеопамяти
Отключить драйвер мыши
Восстановить драйвер мыши
Сбросить драйвер мыши
Определить тип мыши
Мышь Microsoft IntelliMouse
Проверка наличия мыши Microsoft IntelliMouse
Определение величины свертки
Сообщение MSH_MOUSEWHEEL
Сообщение WM_MOUSEWHEEL
Другие сообщения от мыши Microsoft IntelliMouse
Приложение RTFPAD
Часы реального времени.
Регистры часов реального времени
Регистры счетчиков
Регистр состояния A
Регистр состояния B
Регистр состояния C
Регистр состояния D
Прерывание от часов реального времени
Функции прерывания INT 1Ah
Прочитать показания часов реального времени
Установить часы реального времени
Прочитать дату из часов реального времени
Установить дату в часах реального времени
Установить будильник
Сброс будильника
Программа RTCALARM
Системный таймер.
Обработка прерываний таймера
Микросхемы таймера 8253 и 8254
Режимы работы таймера
Каналы таймера
Программирование таймера на уровне портов
Формат управляющего регистра
Формат команды чтения слова состояния канала
Формат слова состояния канала
Последовательность действий
Программа TIMERST
Средства BIOS для работы с таймером
Чтение счетчика таймера
Установка счетчика таймера
Установка таймера с сигнализацией
Формирование задержки
Средства MS-DOS для работы с таймером
Определение текущей даты
Установка даты
Определение текущего времени
Установка времени
Функции стандартной библиотеки С
Таймер и музыка
Настройка таймера для проигрывания музыки
Второй способ проигрывания музыки
Проигрывание музыки в фоновом режиме
Программа TMSOUND
Программа IOSOUND
Программа RANDOM
Асинхронный последовательный адаптер.
Основные понятия и термины
Аппаратная реализация
Микросхема UART
Разъемы адаптера
Порты асинхронного адаптера
Порт 3F8h
Порт 3F9h
Порт 3FAh
Порт 3FBh
Порт 3FCh
Порт 3FDh
Порт 3FEh
Функции BIOS для работы с последовательным асинхронным адаптером
Инициализация портов асинхронного адаптера
Передача байта
Прием байта
Определение состояния асинхронного адаптера
Программирование асинхронного адаптера
Инициализация асинхронного адаптера
Передача данных
Прием данных
Программа COMTEST
Использование прерываний
Параллельный адаптер.
Порты параллельного адаптера
Разъем параллельного адаптера
Вывод байта на принтер через параллельный адаптер
Функции BIOS для работы с принтером
Печать символа
Инициализация принтера
Определение состояния принтера
Программа PRINTFL
Функции MS-DOS для работы с принтером
Функция MS-DOS для вывода на принтер
Система буферизованной печати
Программирование принтера
Подключение принтера к компьютеру
Установка переключателей конфигурации
Программирование режимов работы принтера
Контроллер прямого доступа к памяти.
Контроллер прямого доступа IBM PC/XT
Регистры каналов DMA
Инициализация канала DMA
Контроллер прямого доступа IBM AT
Регистры каналов DMA
Устройство чтения CD-ROM
Драйвер устройства чтения CD-ROM
Расширение MSCDEX
Функции MSCDEX
Определение количества устройств CD-ROM
Получение списка устройств CD-ROM
Получение имени файла прав собственности
Получение имени файла резюме
Получение имени файла библиографической документации
Чтение сектора оглавления компакт-диска
Чтение сектора по абсолютному адресу
Проверка устройства чтения CD-ROM
Определение версии MSCDEX
Определение обозначения устройств чтения CD-ROM
Вызов драйвера CD-ROM
Работа через драйвер CD-ROM
Заголовок запроса
Команды драйвера CD-ROM
Инициализация
Чтение IOCTL Input
Сброс входных буферов
Запись IOCTL Output
Открывание устройства
Закрывание устройства
Чтение длинное
Чтение длинное с предварительной выборкой
Поиск
Проигрывание звуковой дорожки
Остановка проигрывания звуковой дорожки
Возобновление проигрывания звуковой дорожки
Программа CDINFO
Программа CDPLAY
Арифметический сопроцессор.
Вещественные числа
Целые числа
Регистры сопроцессора
Численные регистры
Регистр тегов
Регистр управления
Регистр состояния
Регистры указателя команды и указателя операнда
Система команд сопроцессора
Команды пересылки данных
Арифметические команды
Команды сравнений чисел
Трансцендентные команды
Управляющие команды
Программирование сопроцессора
Программа NPU1
Обработка особых случаев
Неточный результат
Переполнение
Антипереполнение
Деление на нуль
Недействительная операция
Денормализованный операнд
Ошибка в процессоре Pentium
Расширенная память.
Основные понятия
Установка драйвера HIMEM.SYS
Спецификация XMS
Проверка подключения драйвера
Получение адреса управляющей программы
Описание функций драйвера HIMEM.SYS
Коды ошибок
Ограничения при использовании области HMA
Примеры программ
Программа TESTHMA
Программа CALLHMA
Предметный указатель.
Литература.
Download the book Аппаратное обеспечение персонального компьютера. Часть 1 for free or read online
Read Download
Continue reading on any device:
QR code
Last viewed books
Related books
Comments (0)
reload, if the code cannot be seen