П. Нортон Персональный компьютер фирмы 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 байт
Язык:РУС
Рейтинг: 262 Рейтинг
Открыть: