Оглавление
 Предисловие							3
 Об авторах							6
 Как читать эту книгу						7
 Глава 1. Ввод-вывод в персональных компьютерах	9
 Микропроцессоры Intel 80x86
 и их интерфейс ввода-вывода				9
 Особенности выполнения ввода-вывода			11
 
 Глава 2. Интервальный таймер				13
 Общее описание						13
 Управляющий байт таймера				16
 Инициализация таймера					17
 Чтение счетчика таймера					18
 Чтение состояния таймера					20
 Режимы работы таймера					23
 Назначение каналов таймера в IBM PC			30
 Особенности PS/2						32
 
 Глава 3. Часы						35
 Регистры часов						35
 Программирование часов					39
 
 Глава 4. Программируемый контроллер прерываний	41
 Механизм прерываний					41
 Контроллер прерываний 
 и его взаимодействие с процессором			42
 Описание режимов работы					46
 Программирование контроллера прерываний		49
 
 Глава 5. Контроллер прямого доступа к памяти (DMA)	59
 Общее описание						59
 Принцип работы контроллера DMA			60
 Режимы работы						60
 Типы передачи						61
 Описание регистров						61
 Расширение контроллера DMA для машин.
 класса AT и PS/2.						68
 Особенности PS/2						70
 Программирование DMA					74
 Назначение каналов в IBM PC				78
 
 Глава 6. Контроллер гибких дисков			79
 Характеристики накопителей и дискет			79
 Регистры контроллера					83
 Система команд контроллера				88
 Регистры состояния						99
 Рекомендации по программированию			102
 
 Глава 7. Клавиатура						107
 Общее описание						107
 Регистры и порты контроллера клавиатуры		111
 Команды контроллера клавиатуры				113
 Команды управления клавиатурой				119
 Команды клавиатуры					122
 Команды контроллера клавиатуры PS/2			123
 
 Глава 8. Контроллер последовательного интерфейса	125
 Состав контроллера последовательного интерфейса	125
 Основы программирования контроллера 
 последовательного интерфейса				136
 
 Глава 9. Контроллер параллельного порта			147
 Общее описание						147
 Описание регистров						149
 Программирование параллельного порта			152
 
 Глава 10. Дополнительные возможности			153
 Управляющий регистр В					153
 Управляющий регистр А					155
 Немаскируемые прерывания (NMI)			156
 Адресная линия 20 (А20)					157
 
 Приложение 1. Порты ввода-вывода			159
 
 Приложение 2. Пример программирования таймера	161
 
 Приложение 3. Пример программирования часов	169
 
 Приложение 4. Пример программирования DMA	181
 
 Приложение 5. Пример программирования
 контроллера гибких дисков					185
 
 Приложение 6. Пример программирования
 контроллера клавиатуры					203
 
 Приложение 7. Набор scan-кодов З				207
 
 Приложение 8. Пример программирования
 параллельного порта						211
 
 Приложение 9. Пример программирования линии А20	215
 
 Список литературы						222