П. Нортон Персональный компьютер фирмы IBM и операционная система MS-DOS
Автор(ы): | Нортон П., пер. Батнера А. А., под ред. Козлова А. В.
22.09.2008
|
Описание: | В книге известного американского специалиста изложены принципы функционирования операционной системы DOS, широко используемой в персональных компьютерах фирмы IBM. Описывается взаимодействие DOS с различными аппаратно-программными компонентами персонального компьютера, базовой системой управления вводом-выводом, драйверами внешних устройств и т.д. Для пользователей персональных ЭВМ. |
Оглавление: |
Предисловие [5] Введение [7] Глава 1. Анатомия персонального компьютера [10] 1.1 Микропроцессор 8088 [10] 1.1.1. Микропроцессор 80286 [11] 1.1.2. Математический сопроцессор 8087 [12] 1.2. Вспомогательные микросхемы [14] 1.2.1 Контроллер прерываний 8259 [14] 1.2.2. Контроллер DMA 8237А [15] 1.2.3. Генератор тактовых импульсов 8284А [15] 1.2.4. Программируемый параллельный интерфейс 8255 [15] 1.2.5. Программируемый таймер 8253 [16] 1.2.6. Конроллер ЭЛТ 6845 [16] 1.2.7. Конртроллер накопителя на гибких магнитных дисках RD765 [16] 1.3. Связующие звено: шина [16] 1.3.1 Шина адреса [17] 1.3.2. Шина данных [17] 1.4. Микросхемы памяти [18] 1.5. Идеология программирования [21] Глава 2. Организация ввода и вывода [22] 2.1. Как микропроцессор 8088 общается с внешним миром [25] 2.1.1. Форматы данных микропроцессора 8088 [25] 2.2. Как микропроцессор работает с памятью [26] 2.2.1. Расширение адресного пространства с помощью сегментирования [26] 2.2.2. Четырнадцать регистров микропроцессора 8088 [28] 2.3. Как микропроцессор 8088 использует порты [37] 2.3.1 Различия в использовании портов в семействе PC [38] 2.4. Как микропроцессор 8088 использует прерывания [40] Глава 3. Программы в ПЗУ [42] 3.1. Программы запуска машины [42] 3.2. ROM-BIOS [44] 3.2.1. Векторы прерываний [45] 3.2.2. Ключевые адреса в младших адресах памяти [53] 3.2.3. Маркеры, идентифицирующие версию ПЗУ и машину [61] 3.3. Бейсик, записанный в ПЗУ [64] 3.4. Расширения ПЗУ [65] 3.4.1. Кассеты с программным обеспечением [66] 3.5. Комментарии [68] Глава 4. Основы вывода изображения [69] 4.1. Адаптеры дисплея [69] 4.1.1. Видеопамять [70] 4.1.2. Формирование изображения на экране [71] 4.2. Форматы выдачи изображения [72] 4.2.1. Разрешение дисплея [74] 4.2.2. Управление режимами [75] 4.3. Использование цвета [76] 4.3.1.Режимы с подавлением цвета [78] 4.3.2. Цвет в текстовых и графических режимах [78] 4.4. Анатомия видеопамяти [84] 4.4.1. Страницы в текстовых режимах [85] 4.4.2. Страницы в графических режимах [86] 4.4.3. Вывод символов в текстовых и графических режимах [87] 4.5. управление дисплеем [91] 4.5.1. Прямое управление аппаратурой [93] 4.6. Вопросы совместимости [96] Глава 5. Основы работы с дисками [98] 5.1. Физическая структура диска [98] 5.2. Форматы дисков, принятые в DOS [100] 5.2.1. Стандартные форматы аисков DOS [100] 5.2.2. Форматы с учетверенной плотностью записи [101] 5.2.3. Формат жесткого диска [102] 5.3. Логическая структура диска [103] 5.4. Как DOS использует диск [104] 5.4.1. Резервирование пространства на дискете [104] 5.4.2. Резервирование пространства на жестком диске [107] 5.5. Подробности логической структуры [108] 5.5.1. Загрузочная запись [109] 5.5.2. Каталог [110] 5.5.3. Пространство данных [116] 5.5.4. Таблица размещения файлов [117] 5.6. Комментарии [122] Глава 6. Основы работы с клавиатурой [123] 6.1. Работа клавиатуры [123] 6.1.1. Связь с ROM-BIOS [125] 6.1.2. Перевод скэн-кодов [125] 6.1.3. Прямой ввод кодов ASCII [129] 6.2. Формат данных клавиатуры [129] 6.2.1. Клавиши ASCII [129] 6.2.2. Специальные клавиши [129] 6.3. Управление клавиатурой [132] 6.3.1. Байты состояния [132] 6.4. Комментарии [136] 6.5. Чем отличается PCjr [136] 6.5.1. Работа клавиатуры PCjr [136] 6.5.2. Байт состояния клавиатуры PCjr [137] 6.6. Чем отличается AT [140] Глава 7. Генерация звука [141] 7.1. Физика звука [141] 7.2. Как компьютер создает звук [143] 7.2.1. Управление звуком с помощью таймера [144] 7.2.2. Прямое управление громкоговорителем [147] 7.3. Громкость и качество звука громкоговорителя [148] 7.4.Звук и PCjr [148] 7.4.1. Микросхема Т1 для генерации звука [149] 7.4.2. Управление микросхемой для генерации звука [151] 7.4.3. Звуковой выход в PCjr [154] Глава 8. Основы ROM-BIOS [155] 8.1. Идеология базовой системы ввода вывода [156] 8.2. Служебные прерывания ROM-BIOS [156] 8.3. Характеристики служебных функций BIOS [157] 8.4. Создание интерфейсных подпрограмм на языке ассемблера [159] 8.4.1. Структура интерфейсной программы [159] Глава 9. ROM-BIOS служебные функции выдачи изображения [164] 9.1. Доступ к служебным функциям BIOS [164] 9.1.1. Функция 0: установить режим выдачи изображения [164] 9.1.2. Функция 1: установить размер курсора [166] 9.1.3. Функция 2: установить позицию курсора [167] 9.1.4. Функция 3: считать позицию курсора [168] 9.1.5. Функция 4: считать позицию светового пера [168] 9.1.6. Функция 5: установить активную страницу дисплея [169] 9.1.7. Функция 6: прокрутить окно вверх [169] 9.1.8. Функция 7: прокрутить окно вниз [170] 9.1.9. Функция 8: считать символ и атрибут [171] 9.1.10. Функция 9: записать символ и атрибут [171] 9.1.11. Функция 10 (А): записать символ [173] 9.1.12. Функция 11 (В): установить цветовую палитру [173] 9.1.13. Функция 12 (С): записать точку пиксела [174] 9.1.14. Функция 13 (D): считать пиксел [175] 9.1.15. Функция 14 (Е): записать символ в режиме телетайпа [175] 9.1.16. Функция 15 (F): получить текущий режим выдачи изображения [176] 9.1.17. Функция 19 (В): Записать строку символов [177] 9.2. Комментарии и пример [177] Глава 10. ROM-BIOS: работа с дискетой [179] 10.1. Стандартные служебные функции ROM-BIOS для работы с дискетой [179] 10.1.1. Функция 0: установить дискету в начальное состояние [180] 10.1.2. Функция 1: получить состояние дискеты [180] 10.1.3. Функция 2: прочитать секторы дискеты [181] 10.1.4. Функция 3: записать секторы дискеты [183] 10.1.5. Функция 4: проверить секторы дискеты [183] 10.1.6. Функция 5: форматировать дорожку дискеты [184] 10.2. Служебные функции для фиксированного диска AT [186] 10.2.1. Функция 8: получить параметры текущего дисковода [186] 10.2.2. Функция 9: инициализировать таблицу параметров жесткого диска [186] 10.2.3. Функции 10 и 11 (А и В): прочитать и записать длинные секторы [186] 10.2.4. Функция 12 (С): поиск цилиндра [186] 10.2.5. Функция 13 (D): установить альтернативный диск в начальное состояние [187] 10.2.6. Функция 16 (10): проверить готовность дисковода [187] 10.2.7. Функция 17 (11): проверить дисковод [187] 10.2.8. Функция 20 (14): диагностировать контроллер [187] 10.2.9. Функция 21 (15): получить тип диска [187] 10.2.10. Функция 22 (16): получить информацию о смене диска [187] 10.2.11. Функция 23 (17): установить тип диска [188] 10.3. Основная таблица диска [188] 10.4. Комментарии и примеры [190] Глава 11. ROM-BIOS: работа с клавиатурой [193] 11.1. Вызов прцедур для работы с клавиатурой [193] 11.1.1. Процедура 0: прочитать с клавиатуры следующий символ [193] 11.1.2. Процедура 1: установить наличие символа вбуфере клавиатуры [194] 11.1.3. Процедура 2: получить состояние клавиши верхнего регистра [195] 11.2. Комментарии и пример [196] Глава 12. Прочие служебные функции [197] 12.1. Служебные прцедуры для последовательной передачи данных в стандарте RS-232 [197] 12.1.1. Процедура 0: инициализация параметров последовательного порта [198] 12.1.2. Процедура 1: передать один символ [199] 12.1.3. Процедура 2: получить один символ [201] 12.1.4. Процедура 3: получить состояние последовательного порта [201] 12.2. Служебные процедуры для работы с кассетным магнитофоном [201] 12.2.1. Процедура 0: включить лемтопротяжку [202] 12.2.2. Процедура 1: выключить лентопротяжку [202] 12.2.3. Процедура 2: прочитать блоки данных [203] 12.2.4. Процедура 3: записать блоки данных [203] 12.3. Дополнительные служебные функции для AT [204] 12.4. Служебные функции для работы с принтером [204] 12.4.1. Процедура 0: передать один байт на принтер [205] 12.4.2. Процедура 1: инициализировать принтер [205] 12.4.3. Процедура 2: получить состояние принтера [205] 12.5. Прочие служебные процедуры [207] 12.5.1. Прерывание 5: печать содержимого экрана [207] 12.5.2. Прерывание 17: чтение списка оборудования [207] 12.5.3. Прерывание 18: получение размера памяти [208] 12.5.4. Прерывание 24: загрузка Бейсика [210] 12.5.5. Прерывание 25: начальная загрузка [210] 12.5.6. Прерывание 26: Процедура для получения и установки времени дня [211] Глава 13. Сводка служебных функций ROM-BIOS [214] 13.1. Краткая сводка [214] 13.2. Расширенная сводка [214] Глава 14. Основы DOS [230] 14.1. Соображения за и против использования служебных функций DOS [230] 14.1.1. DOS: изобилие процедур для работы с диском [231] 14.1.2. DOS и работа с экраном — трудное сочетание [231] 14.2. Различия между версиями DOS [232 14.3. Форматы диска [234] 14.4. Комментарии [234] Глава 15. Прерывания DOS [235] 15.1. Пять основных прерываний DOS [236] 15.1.1. Прерывание 32: завершить работу программы [236] 15.1.2. Прерывания 37 и 38: абсолютные чтение с диска и запись на диск [237] 15.1.3. Прерывание 39: завершить работу программы, но оставить ее в памяти [240] 15.1.4. Прерывание 47: мультиплексирование [241] 15.2. Три адресуемые прерывания DOS [243] 15.2.1. Прерывание 34: завершающий адрес [244] 15.2.2. Прерывание 35: адрес прерывания начала работы программы [245] 15.2.3. Прерывание 36: адрес процедуры обработки фатальных ошибок [246] 15.3. Префикс, сегмента программы (PSP) [249] 15.3.1. Внутренняя структура PSP [251] 15.4. Пример [256] Глава 16. Универсальные функции DOS [258] 16.1. Сводка универсальных функций [258] 16.1.1. Функция 0: завершить исполнение программы [260] 16.1.2. Функция 1: ввести символ с клавиатуры с эхом [261] 16.1.3. Функция 2: вывести символ на экран [262] 16.1.4. Функция 3: ввести символ из последовательного порта [262] 16.1.5. Функция 4: вывести символ в последовательный порт [263] 16.1.6. Функция 5: вывести символ на принтер [263] 16.1.7. Функция 6: прямой ввод с клавиатуры и вывод на экран дисплея [263] 16.1.8. Функция 7: прямой ввод с клавиатуры без эха [264] 16.1.9. Функция 8: выполнить ввод с клавиатуры без эха [264] 16.1.10. Функция 9: вывести строку на экран дисплея [264] 16.1.11. Функция 10: выполнить буферированный ввод с клавиатуры [265] 16.1.12. функция 11: проверить состояние ввода с клавиатуры [266] 16.1.13. Функция 12: очистить буфер клавиатуры и вызвать служебную функцию [267] 16.1.14. Функция 13: привести диск в начальное состояние [267] 16.1.15. Функция 14: задать текущий дисковод [267] 16.1.16. Функция 15: открыть файл [268] 16.1.17. Функция 16: закрыть файл [269] 16.1.18. Функция 17: найти первый файл по образцу [269] 16.1.19. Функция 18: найти следующий файл по образцу [270] 16.1.20. Функция 19: удалить файл [271] 16.1.21. Функция 20: прочитать запись файла с последовательным доступом [271] 16.1.22. Функция 21: вывести запись в файл с последовательным доступом [271] 16.1.23. Функция 22: создать файл [272] 16.1.24. Функция 23: переименовать файл [272] 16.1.25. Функция 24: используется внутри DOS [273] 16.1.26. Функция 25: возвратить номер текущего дисковода [273] 16.1.27. Функция 26: задать область обменов с диском [273] 16.1.28. Функция 27: считать информацию о таблице FAT для текущего диска [273] 16.1.29. Функция 28: считать информацию о таблице FAT для любого диска [274] 16.1.30. Функция 33: считать запись файла произвольного доступа [275] 16.1.31. Функция 34: вывести запись файла с прямым доступом [275] 16.1.32. Функция 35: получить размер файла [276] 16.1.33. Функция 36: задать позициюпрямого доступа [276] 16.1.34. Функция 37: установить вектор прерывания [276] 16.1.35. Функция 38: создать сегмент программы [277] 16.1.36. Функция 39: прочитать записи файла прямого доступа [277] 16.1.37. Функция 40: вывести записи файла прямого доступа [278] 16.1.38. Функция 41: выполнить синтаксический разбор имени файла [278] 16.1.39. Функция 42: получить дату [279] 16.1.40. Функция 43: установить дату [280] 16.1.41. Функция 44: получить время [280] 16.1.42. Функция 45: установить время [281] 16.1.43. Функция 46: управление проверкой записи на диск [281] 16.2. Блок управления файлом [281] 16.3. Пример [286] Глава 17. Новые функции DOS [288] 17.1. Улучшения; введенные в DOS-2 [288] 17.1.1. Расширенные Функции DOS [289] 17.1.2. Загружаемые драйверы устройств [292] 17.2. Сводка расширенных функций DOS [293] 17.2.1. Функция 47: получить адрес области обменов с диском [293] 17.2.2. Функция 48: получить номер версии DOS [295] 17.2.3. Функция 49: KEEP — улучшенная версия функции завершения работы программы [296] 17.2.4. Функция 51: включить или отменить реакцию на ввод символа прерывания «Ctrl-Break» [296] 17.2.5. Функция 53: получить вектор прерывания [297] 17.2.6. Функция 54: получить размер свободного пространства на диске [297] |
Формат: | djvu |
Размер: | 4258230 байт |
Язык: | РУС |
Рейтинг: | 163 |
Открыть: | Ссылка (RU) |