Предметный указатель
12-часовой режим 103
16450 133
16550 133
16550A 133
24-часовой режим 103
8042 41
8254 113
ACK 150
ADD 229
BIOS Setup 134
bps 132
BUSY 150
BYTE 175
CD-ROM 170
cgets 62
Clear to Send 133
CMOS 18, 102
COM1 134, 147, 157
COM2 134, 147
Cooked 181
CPUID 29
CTS 133
Data Carrier Detect 133
Data Set Ready 133
Data Terminal Ready, 133
DB25P 133
DB9P 133
DCD 133
Direct Memory Access 162
DIV 229
DIVR 229
DMA 8, 162
DSR 133
DTR 133, 137
DWORD 175
EMB 243
Epson FX 160
Epson LQ 160
Epson LQ-2550 160
ERROR 150
ESC 216
Extended Memory 243
Extended Memory Blocks 243
eXtended Memory Specification 243
F2XM1 232
FABS 230
FBLD 228
FBST 228
FBSTP 228
FCHS 230
FCLEX 234
FCOM 230
FCOMP 230
FCOMPP 230
FCOS 233
FDECSTP 234
feature flags 29
FFREE 234
FICOM 230
FICOMP 230
FILD 228
FINCSTP 234
FINIT 234
FIST 228
FISTP 228
FLD 228
FLD1 228
FLDCW 234
FLDENV 234
FLDL2E 228
FLDL2T 228
FLDLG2 229
FLDLN2 229
FLDPI 228
FLDZ 228
Flywheel 91
FNCLEX 234
FNINIT 234
FNOP 234
FNSAVE 234
FNSTCW 234
FNSTENV 234
FNSTSW 234
FPATAN 232
FPREM 230
FPTAN 232
FRAME 179
FRNDINT 230
FRSTOR 234
FSAVE 234
FSCALE 230
FSETPM 234
FSIN 233
FSINCOS 233
FSQRT 230
FST 228
FSTCW 234
FSTENV 234
FSTP 228
FSTSW 234
FSTSW AX 232
FTST 230
FX-1050 160
FX-80 160
FX-850 160
FXAM 231
FXCH 228
FXTRACT 230
FYL2X 232
FYL2XP1 232
getch 59
getche 59
gets 63
GetSystemMetrics 92
High Memory Area 243
High Sierra 179
HIMEM.SYS 3, 9, 243, 244, 245, 248, 251, 252, 253, 254, 260, 262, 266, 267
HMA 243
HMAMIN 244, 246
HSG 179
INT 09h 44
INT 0Bh 147
INT 0Ch 147
INT 0Dh 149
INT 0Fh 149
INT 10h). 239
INT 11h 8
INT 14h 138
INT 15h 9
INT 15h 13, 14, 119, 120
INT 16h 44, 46
INT 17h 152
INT 1Ah 104
INT 1Ah 119
INT 1Ch 113
INT 21h 56, 121, 140, 157
INT 23h 56
INT 2Fh 158, 170, 244
INT 33h 65
INT 4Ah 104
INT 8h 113
Intel 80286 26
Intel 80386 26
Intel 80486 27
Intel 8086/8088 25
Intel 8250 133
Intel 8253 113
IOCTL Input 178
IOCTL Output 187
IRQ3 134
IRQ4 134
IRQ5 149
IRQ7 149
IRQ8 104
ISO-9960 170
ISO9660 181
kbhit 61
Lead-out 182
LPT1 149, 157
LPT2 149
Microsoft CD-ROM Extention 170
Microsoft IntelliMouse 91
MIN 179
MK_CONTROL 94
MK_LBUTTON 94
MK_MBUTTON 94
MK_RBUTTON 94
MK_SHIFT 94
MODE 141, 157
MSCDEX.EXE 170
MSH_MOUSEWHEEL 93, 94
MSH_SCROLL_LINES 92
MSH_WHEELSUPPORT 91
MSWheel 91
MUL 229
Network Redirector 170
NUMHANDLES 244
OUT1 137
OUT2 137
PE 150
PRINT 158
PRINT.EXE 158
PRN 157
PUSH 228
Raw 181
Received Data 133
Redbook 170, 179
RegisterWindowMessage 91
Request to send 133
RI 133
Ring Indicator 133
RS232-C 132
RTS 133, 137
SAHF 232
Scan Code 39
scanf 63
SEC 179
SendMessage 92
Signal Ground 133
SLCT 150
SM_MOUSEWHEELPRESENT 92
SPI_GETWHEELSCROLLLINES 93
stepping 29
SUB 229
SUBR 229
SystemParametersInfo 93
Transmitted Data 133
UART 133
UMB 243
Universal Asynchronous Receiver Transmitter 133
Upper Memory Blocks 243
Volume Descriptor 172
WHEEL_PAGESCROLL 92
Windows 285
WM_MOUSEWHEEL 93, 94
WORD 175
XMS 243
альтернативный драйвер событий 87
арифметические команды 227
арифметический сопроцессор 216
байт ESC 161
байт состояния отключения 20
биты в секунду 132
Боды 132
буфер клавиатуры 44
версии BIOS 13
верхние блоки памяти 243
Вещественные числа 216
возможности процессора 29
встроенный арифметический сопроцессор 216
Вызов драйвера CD-ROM 174
Двойная точность 218
дополнительные коды моделей 13
драйвер событий 79
драйвер устройства чтения CD-ROM 170
задержки 120
значения битов кодов условия 231
инициалищзация системы 7
код ASCII 39
код модификации модели 29
коды моделей 13
Команда CPUID 27
команды сравнений чисел 227
контроллер прерываний 8259 13
конфигурация оборудования 22
косинус 216
КР1810ВИ53 113
КР1810ВИ54 113
линия A20 243
логарифмы 216
модели процессоров 25
модель компьютера 12
наибольшее отрицательное число 218
наибольшее положительное число 218
наименьшее отрицательное число 218
наименьшее положительное число 218
неопределенность 219
нечисло 218
нуль 218
объем расширенной памяти 22, 23
объем стандартной оперативной памяти 22
Одинарная точность 218
операции, связанные с обслуживанием мыши 65
особые случаи сопроцессора 239
Ошибка в процессоре Pentium 240
положительная и отрицательная бесконечность 218
порог удвоения скорости 86
Последовательная передача данных 132
представление чисел с плавающей точкой 217
программа буферизованной печати 158
расширенная память 243
Расширенная точность 218
расширенные блоки памяти 243
режим автоповтора 40
режимы работы клавиатуры 55
синус 216
система буферизованной печати 157
скан-код 39
Скорость передачи данных 132
слово состояния 8042 41
случайные числа 129
содержимое регистра состояния сопроцессора 232
состояние BREAK 139
Спецификация XMS 244
список частот для нот второй октавы 123
старшая область памяти 243
схема клавиатуры 39
таблица скан-кодов 46
тангенс 216
текущее столетие 23
технология MMX 30
тип первого и второго НМД 22
трансцендентные команды 227
Трансцендентные команды 232
Упакованное десятичное число 219
управляющие команды 227
целые числа 219
- Аннотация
- Введение
- Благодарности
- Авторский компакт-диск
- Как связаться с авторами
- 1 Определение конфигурации компьютера
- Определение конфигурации с помощьюBios
- Наличие нмд
- Наличие арифметического сопроцессора
- Начальный режим работы видеоадаптера
- Стандартная оперативная память
- Расширенная оперативная память
- ПрограммаHdwcfg
- Код модели компьютера и версияBios
- ПрограммаBiosinfo
- Конфигурация в памяти cmos
- 00H - 0Dh - область часов реального времени
- 0Eh - байт диагностики
- 0Fh - байт отключения
- 10H - тип накопителей нгмд
- 11H - зарезервировано дляIbm pc/at, тип нмд дляIbm ps/2
- 12H - тип первого и второго нмд
- 13H - зарезервировано
- 14H - конфигурация оборудования
- 15H-16h - объем стандартной оперативной памяти
- ПрограммаCmosshow
- Определение типа центрального процессора
- МоделиIntel 8086/8088
- Модель Intel 80286
- МодельIntel 80386
- МодельIntel 80486
- Команда cpuid
- ПрограммаCpuinfo
- 2 Клавиатура
- Как работает клавиатура
- Клавиатурная матрица
- Скан-код клавиши
- Код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
- Проверка в среде Microsoft Windows 95 и Microsoft Windows nt версии 3.51
- Проверка в среде Microsoft Windows nt версии 4.0
- Определение величины свертки
- Определение величины свертки в среде Microsoft Windows 95 и Microsoft Windows nt версии 3.51
- Определение величины свертки в среде Microsoft Windows nt версии 4.0
- Сообщение msh_mousewheel
- Сообщение wm_mousewheel
- Другие сообщения от мыши Microsoft IntelliMouse
- ПриложениеRtfpad
- 4 Часы реального времени
- Регистры часов реального времени
- Регистры счетчиков
- Регистр состоянияA
- Регистр состояния b
- Регистр состояния c
- Регистр состояния d
- Прерывание от часов реального времени
- Функции прерыванияInt 1Ah
- Сброс будильника
- ПрограммаRtcalarm
- 5 Системный таймер
- Обработка прерываний таймера
- Микросхемы таймера 8253 и 8254
- Режимы работы таймера
- Режим однократного выполнения функций
- Работа с перезапуском
- Формат управляющего регистра
- Формат команды чтения слова состояния канала
- Формат слова состояния канала
- Последовательность действий
- ПрограммаTimerst
- Средства bios для работы с таймером
- Чтение счетчика таймера
- Установка счетчика таймера
- Установка таймера с сигнализацией
- Формирование задержки
- Второй способ проигрывания музыки
- Проигрывание музыки в фоновом режиме
- ПрограммаTmsound
- ПрограммаIosound
- ПрограммаRandom
- 6 Асинхронный последовательный адаптер
- Основные понятия и термины
- Аппаратная реализация
- МикросхемаUart
- Разъемы адаптера
- Порты асинхронного адаптера
- Порт 3f8h
- Порт 3f9h
- Порт 3fAh
- Порт 3fBh
- Порт 3fCh
- Порт 3fDh
- Порт 3fEh
- Функции bios для работы с последовательным асинхронным адаптером
- Инииализация портов асинхронного адаптера
- Передача байта
- Прием байта
- Определение состояния асинхронного адаптера
- Программирование асинхронного адаптера
- Инициализация асинхронного адаптера
- Передача данных
- Прием данных
- ПрограммаComtest
- Использование прерываний
- 7 Параллельный адаптер
- Порты параллельного адаптера
- Порт 378h
- Порт 37Ah
- Порт 379h
- Разъем параллельного адаптера
- Вывод байта на принтер через параллельный адаптер
- Функции bios для работы с принтером
- Печать символа
- Инициализация принтера
- Определение состояния принтера
- ПрограммаPrintfl
- Функции ms-dos для работы с принтером
- ФункцияMs-dos для вывода на принтер
- Система буферизованной печати
- Проверка установки системы буферизованной печати
- Запуск процесса печати файла
- Отмена печати файла
- Отмена печати всех файлов
- Определение состояния и блокировка системы буферизованной печати
- Разблокирование системы буферизованной печати
- Коды ошибок
- Программирование принтера
- Подключение принтера к компьютеру
- Установка переключателей конфигурации
- Программирование режимов работы принтера
- Инициализация принтера
- Контроллер прямого доступа ibm pc/xt
- Регистры каналов dma
- Порты 00h - 07h
- Порт 08h
- Порт 09h
- Порт 0Ah
- Порт 0Bh
- Порт 0Ch
- Порт 0Dh
- Порт 0Eh
- Порт 0Fh
- Порты 81h-8Fh
- Инициализация канала dma
- Контроллер прямого доступа ibm at
- Регистры каналовDma
- Регистры страниц
- Порты 0c0h - 0dFh
- Порты 0d0h-0dFh
- 9 Устройство чтения cd-rom
- Драйвер устройства чтенияCd-rom
- РасширениеMscdex
- ФункцииMscdex
- Определение количества устройствCd-rom
- Получение списка устройств cd-rom
- Получение имени файла прав собственности
- Получение имени файла резюме
- Получение имени файла библиографической документации
- Чтение сектора оглавления компакт-диска
- Чтение сектора по абсолютному адресу
- Проверка устройства чтения cd-rom
- Определение версии mscdex
- Определение обозначения устройств чтения cd-rom
- Вызов драйвера cd-rom
- Работа через драйверCd-rom
- Заголовок запроса
- Команды драйвера cd-rom
- Инициализация
- ЧтениеIoctl Input
- Определение адреса заголовка драйвера cd-rom
- Определение положения головки
- Получение информации о звуковых каналах
- Чтение данных из устройства
- Определение состояния устройства
- Определение размера сектора
- Определение размера тома
- Проверка замены носителя данных
- Получение информации о компакт-диске
- Получение информации о дорожкекомпакт-диска
- Получение информации о канале q
- Получение информации о подканале
- Получение штрих-кода изготовителя компакт-диска
- Сброс входных буферов
- ЗаписьIoctl Output
- Извлечение компакт-диска
- Блокирование и разблокирование компакт-диска в устройстве
- Сброс устройства чтения cd-rom
- Управление звуковыми каналами
- Запись в устройство управляющей строки
- Чтение длинное с предварительной выборкой
- Проигрывание звуковой дорожки
- Остановка проигрывания звуковой дорожки
- Возобновление проигрывания звуковой дорожки
- ПрограммаCdinfo
- ПрограммаCdplay
- 10 Арифметический сопроцессор
- Вещественные числа
- Целые числа
- Регистры сопроцессора
- Численные регистры
- Регистр тегов
- Регистр управления
- Регистр состояния
- Регистры указателя команды и указателя операнда
- Система команд сопроцессора
- Команды пересылки данных
- Запись в стек
- Извлечение из стека
- Копирование данных
- Загрузка констант
- Арифметические команды
- Команды сравнений чисел
- Трансцендентные команды
- Управляющие команды
- Программирование сопроцессора
- ПрограммаNpu1
- Обработка особых случаев
- Неточный результат
- Переполнение
- Антипереполнение
- Деление на нуль
- Недействительная операция
- Денормализованный операнд
- Ошибка в процессореPentium
- 11 Расширенная память
- Основные понятия
- Установка драйвера himem.Sys
- Спецификация xms
- Проверка подключения драйвера
- Получение адреса управляющей программы
- Описание функций драйвера himem.Sys
- Получить версию xms
- Запросить область hma
- Освободить область hma
- Глобальное открывание линии a20
- Глобальное закрывание линии a20
- Освободить блок emb
- Копирование блоков emb
- Блокирование emb
- Разблокирование emb
- Получить информацию об идентификаторе блока emb
- Изменить размер emb
- Запросить область umb
- Освободить область umb
- Коды ошибок
- Ограничения при использовании области hma
- Примеры программ
- ПрограммаTesthma
- ПрограммаCallhma
- Предметный указатель
- Литература
- Оглавление
- 1 Определение конфигурации компьютера 7
- 2 Клавиатура 38
- 3 Мышь 64
- 4 Часы реального времени 102
- 5 Системный таймер 113
- 6 Асинхронный последовательный адаптер 132
- 7 Параллельный адаптер 149
- 8 Контроллер прямого доступа к памяти 162
- 9 Устройство чтения cd-rom 170
- 10 Арифметический сопроцессор 216
- 11 Расширенная память 243