Полезное

Календарь
Июль
Пн   3 10 17 24 31
Вт   4 11 18 25  
Ср   5 12 19 26  
Чт   6 13 20 27  
Пт   7 14 21 28  
Сб 1 8 15 22 29  
Вс 2 9 16 23 30  

Области данных BIOS



Скачать: Области данных BIOS

Содержание реферата

 Введение
 1. Основные понятия
    1.1. Введение в BIOS
    1.2. Доступ к BIOS
    1.3. Области данных BIOS
    1.4. Версии BIOS
 2. Функции BIOS
    2.1. Int 10h - Управление экраном
    2.2. Int 11h - Конфигурация оборудования
    2.3. Int 12h - Размер ОЗУ
    2.4. Int 13h - Управление дисками
    2.5. Int 14h - Управление стыком RS-232C
    2.6. Int 15h - Системные утилиты
    2.7. Int 16h - Обслуживание клавиатуры
    2.8. Int 17h - Управление принтером
    2.9. Int 18h - Интерпретатор Бейсика
    2.10. Int 19h - Загрузка системы
    2.11. Int 1Ah - Обслуживание таймера

Введение

Данный документ содержит техническое описание базовой  системы ввода-вывода (BIOS) ПЭВМ семейства IBM PC, включая ПЭВМ  IBM PC XT, AT и PS/2. Он основан на технической документации  фирмы IBM (IBM PC Technical References).

Дополнительными источниками информации   послужили  многочисленные монографии, журнальные статьи и  диалоговые  справочные системы (такие, как TECH Help!, Norton Guide и др.).

 Кроме того, данное описание учитывает опыт авторов по разработке  и сопровождению программ в среде MS-DOS. Этот опыт  позволил,  во-первых, исправить отдельные неточности и  недоговоренности в  использованных материалах, и, во-вторых, описать ряд недоку ментированных особенностей BIOS указанных ПЭВМ.

Помимо описания BIOS, в документ включены описания  двух  загружаемых драйверов: драйвера мыши в стандарте Microsoft/PC  Mouse и драйвера дополнительной памяти в стандарте LIM/EMS, а  также информация об использовании стандартного  сетевого  интерфейса NETBIOS.

Вся приведенная информация подвергалась  максимальной  проверке на ЭВМ; однако, авторы предполагают, что отдельные  нюансы описаний, заимствованных из фирменной документации, могут  содержать ошибки. Такие "подозрительные" моменты мы, по мере  воазможности, старались явно оговаривать в  соответствующих  местах справочника.

Для понимания изложенного здесь материала требуется  владение основами программирования на языке ассемблера для IBM  PC (знание архитектуры процессора и директив ассемблера) и общее  представление о портах ввода-вывода ПЭВМ и связанных с ними  устройствах.

Авторы будут благодарны за любые указания на неточности,  замечания и дополнения, которые мы просим присылать по адресу:

620075, г. Свердловск, ул. Луначарского 81, Инженерно-техническое бюро.

тел. 56-92-54, 56-92-41.

Обозначения

PC, XT, AT, PCjr, PC Convertible и PS/2 - это имена  компьютеров семейства IBM PC. Все они более или менее совместимы

 между собой на уровне прикладных пакетов, но имеют определенные  аппаратные различия:

PC: центральный процессор 8088, тактовая частота 4.77 МГц,  5 позиций для адаптерных плат.

PCjr: ЦП 8088, нет места для  плат. Выпущена мизерным  тиражом и не совместима с остальными IBM PC. В нашей серии почти  не описывается.

XT: ЦП 8088, жесткий диск, 8 позиций для адаптерных плат. В  остальном аналогична PC.

Turbo PC: ПЭВМ других фирм (не IBM), совместимые с PC и XT,  но имеюший ЦП 8086 или V30 фирмы NEC, тактовая частота которых 6  или 8 МГц. Обычно имеет 8 позиций для плат.

XT-286: ЦП 80286, 8 позиций для плат, частота 6 Мгц без  холостых циклов (скорость как у AT с 8 МГц). Платы от AT к ней  не подходят, от PC подходят, но не позволяют использовать  преимущества 16-разрядной системной шины.

AT: ЦП 80286, 8 позиций для плат, тактовая частота 6 или 8  МГц.

PC Convertible: Портативный вариант AT. Отличия: плазменный  (LCD) дисплей, 3.5-дюймовые дисководы, нет позиций для плат  расширения.

PS/2: Новое семейство ПЭВМ фирмы IBM. Модели 25 и 30 - это  улучшенные версии старых PC, совместимые с ними по  адаптерным  платам, с дисплеем MCGA. Модели 50 и 60 - ЦП 80286, 32-разрядная  шина MicroChannel, совместимости со старыми платами нет, дисплей  VGA. Модель 80 имеет ЦП 80386. Все модели оснащены дисководами  размером 3.5 дюйма.

AT-386: ПЭВМ третьих фирм, совместимая с AT, но имеющая ЦП  80386.

Если  рассматриваемые устройства зависят от типа ПЭВМ, то  используются следующие пометки: PC/XT относится к ПЭВМ IBM PC и XT, включая Portable PC

AT относится к ПЭВМ IBM PC AT

PS/2 относится к семейству PS/2

Отсутствие таких указаний означает, что данный материал  применим ко всем ПЭВМ фирмы IBM.

Функция BIOS с номером XXh обозначаeтся "фн  XXh", а ее подфункции (если они есть) - "подфн ...".

Десятичные числа записываются обычным   образом,  шестнадцатиричные отличаются добавлением буквы  "h" в конце.

Например, 256 и 100h означают десятичное число 256.

Все размеры полей в управляющих структурах приведены в  байтах, если не оговорено противное.

В некоторых случаях алгоритмы сопровождаются формулами.

 Операции в формулах обозначаются, как принято в языке Си, а  именно:

арифметические: +, -, *, /, % (взятие остатка)  битовые: & (и), | (или), ~ (не) сдвиги: << и >>.

1. Основные понятия

1.1. Введение в BIOS

Базовая система ввода-вывода (BIOS - Basic Input/Output  System) для ПЭВМ семейства IBM PC и IBM PS/2 - это программный  интерфейс между программами и оборудованием ПЭВМ. BIOS изолирует  операционную систему и прикладные программы от  аппаратных  особенностей конкретных устройств и позволяет программистам,  пишущим на языках ассемблера, Си и т. п., выполнять операции  ввода-вывода, не заботясь об адресах устройств или их аппаратных  характеристиках. Кроме того, BIOS обеспечивает ряд системных  услуг, например, позволяет узнать размер памяти ПЭВМ или текущее  время дня.

Рекомендуется использовать запросы к BIOS вместо прямой  манипуляции портами ввода-вывода при написании как системных,  так и прикладных программ. Программирование на уровне BIOS  уменьшает зависимость программ от изменения параметров  оборудования ПЭВМ и, тем самым, повышает их  мобильность.

 Подробно эта тема обсуждается в п. 5.2.

Основные функции BIOS таковы:

- тестирование ПЭВМ при ее включении;

- обеспечение управления периферийными устройствами;

- системные услуги.

1.2. Доступ к BIOS

Для доступа к BIOS используются программные прерывания. При  этом каждая точка входа в BIOS использует свой вектор  прерываний. Если точка входа обслуживает несколько процедур  (называемых функциями BIOS), то номер функции  задается в  регистре AH.

За процедурами BIOS закреплены прерывания Int 10h - Int 1Ah  (полная таблица использования прерываний приведена в п. 7.1).

 Например, Int 12h вызывает процедуру, которая  возвращает  вызвавшей ее программе размер оперативной памяти ПЭВМ.

Входные и выходные параметры процедур BIOS передаются в  регистрах общего назначения центрального процессора  ПЭВМ.

 Например, для установки  системного времени нужно  подать  следующие команды:

MOV AH,1 ; Функция 1 - установка времени

MOV CX,HIGH_COUNT ; CX:DX = новое значение времени MOV DX,LOW_COUNT

INT 1AH ; Точка входа в BIOS, обслуживающая ; запросы к таймеру

Для чтения времени используется следующая программа: MOV AH,0 ; Функция 0 - чтение времени INT 1AH ; Запрос к BIOS

 Результат будет возвращен в регистрах CX и DX.

Процедуры BIOS сохраняют значения всех регистров, кроме тех  из них, в которых возвращаются значения.

Все функции BIOS описаны в п. 2, а прочие прерывания,  обслуживаемые BIOS - в п. 3.

1.3. Области данных BIOS

Области данных BIOS - это либо области ОЗУ, в которых  хранится текущая информация о состоянии ПЭВМ, либо области ПЗУ,  в которых записаны аппаратные характеристики  устройств. Эти  области данных описаны в п. 4.

1.4. Версии BIOS

BIOS хранится в микросхемах ПЗУ, расположенных на системной  плате ПЭВМ и в некоторых адаптерах конкретных  устройств  (например, в адаптере дисплеев EGA или в контроллере  жесткого  диска).  По мере разработки новых моделей ПЭВМ  фирма IBM  несколько раз модернизировала содержимое BIOS.  Поэтому для  правильного его использования важно учитывать тип Вашей ПЭВМ и  дату создания BIOS. ПЭВМ фирмы IBM имеют следующие версии BIOS:

Модель ПЭВМ Дата BIOS

PC 04/24/81

PC 10/19/81

PC 10/27/82

PC XT и Portable PC 11/08/82

PC XT 01/10/86

PC XT  05/09/86

PC jr 06/01/83

AT 01/10/84

AT 06/10/85

AT 11/15/85

PC XT-286 04/21/86

PC Convertible 09/13/85

PS/2 Model 30 09/02/86

PS/2 Model 50 нет

PS/2 Model 60 нет

PS/2 Model 80 нет

Примечания:

1. Дата версий BIOS приведена в американском  формате  (месяц/день/год), т. к. именно так она хранится в ПЗУ.

2. Если Ваша ПЭВМ является PC-совместимой ЭВМ производства  третьих фирм, то дата ее BIOS никак не связана с приведенной  таблицей. См. п. 2.6 и 5.2 для определения возможностей BIOS  таких ПЭВМ.

 2. Функции BIOS

 2.1. Int 10h - Управление экраном

Для управления экраном имеются следующие функции:

 Функция Назначение

00h Задание видеорежима

01h Задание формы курсора

02h Задание позиции курсора

03h Чтение позиции и формы курсора

04h Чтение позиции светового пера

05h Задание активной страницы дисплея

06h Прокрутка окна вверх

07h Прокрутка окна вниз

08h Чтение атрибута и символа в текущей позиции курсора

09h Вывод атрибута и символа в текущую позицию курсора

0Ah Вывод символа в текущую позицию курсора

0Bh Задание цветовой палитры

0Ch Вывод пикселя на экран

0Dh Чтение пикселя

0Eh Вывод символов в режиме телетайпа

0Fh Чтение текущего состояния дисплея

10h Установка регистров палитр (PCjr, EGA, VGA, MCGA)

11h Управление знакогенератором (EGA, VGA, MCGA)

12h Выбор альтернативы (EGA, VGA, MCGA)

13h Вывод строки на экран (многие ПЭВМ)

14h Управление плазменным дисплеем (Convertible)

15h Чтение параметров активного дисплея   (Convertible)

1Ah Чтение/вывод кода комбинации дисплеев (PS/2)

1Bh Чтение функциональной информации   (PS/2)

1Ch Сохранение/восстановление состояния дисплея   (VGA)

Примечание. Функции 00h - 0Fh поддерживаются BIOS всех ПЭВМ  (единственное исключение состоит в том, что BIOS не поддерживает графический режим монохромного адаптера Hercules). Остальные  функции реализуются только теми адаптерами и теми ПЭВМ, которые  указаны в скобках после их описания (подробная  информация о  каждой функции приведена ниже).

2.2. Int 11h - Конфигурация оборудования

Вход: нет

Выход: AX=конфигурация оборудования

Описание: Возвращает в AX конфигурацию оборудования ПЭВМ.

Примечания:

1. Это слово хранится в области данных BIOS по адресу  00410h.

2. На IBM PC, XT и PCjr биты 2-3 содержат объем ОЗУ на  системной плате в блоках по 16К (например, 00=16К, 11=64К).

3. Бит 2 не используется на PC, XT, AT и PC Convertible. На  XT-286 и PS/2 он указывает на наличие устройства  графического  ввода (pointing device).

4. Бит 12 всегда установлен в 1 на PCjr.

5. Бит 13 указывает наличие встроенного модема  на PC  Convertible, последовательного принтера на PCjr и зарезервирован  на остальных ПЭВМ.

6. Если DIP-переключатели в PC и XT выставлены неверно, то  BIOS не определит наличие сопроцессора. Для проверки того, имеет  ли ЭВМ сопроцессор, лучше всего выполнить его команду и проана 

- 47  лизировать результат.

7. Для определения числа жестких дисков используйте Int  13h, фн 08h.

2.3. Int 12h - Размер ОЗУ

Вход: нет

Выход: AX=размер ОЗУ в килобайтах

Описание: Возвращает в AX размер оперативной памяти в Кб  (не более 640), определенный в процессе POST анализом

 DIP-переключателей на PC/XT или содержимого CMOS на AT и PS/2.

Примечания.

1. Это слово хранится в области данных BIOS по адресу  00413h.

2. Для определения размера расширенной памяти используйте

 Int 15h, фн 88h. Для определения размера дополнительной памяти  используйте Int 67h, фн 42h.

2.4. Int 13h - Управление дисками

Int 13h используется для работы с дисковыми устройствами  ПЭВМ. Процедуры обработки данного прерывания внутри  BIOS  разделены на 2 независимые части, обрабатывающими запросы к  гибким и жестким дискам соответственно. При чтении главы примите  к сведению следующую общую информацию:

- обозначения ГД и ЖД означают соответственно гибкие и  жесткие диски;

- код функции всегда заносится в регистр AH;

- для функций, требующих в качестве параметра  номер  устройства, нумерация дисководов для гибких дисков начинается с  0, нумерация жестких дисков с 80h. Под жесткими дисками здесь не  следует понимать логические диски C:,D: и E:, созданные на одном  диске общей емкостью 80 Мбайт;

- номер цилиндра жесткого диска кодируется в 10-битном виде  (в регистре CН - младшая часть, в регистре CL - 2 старших бита  номера цилиндра в битах 6 и 7);

- результаты выполнения последней команды контроллера после  вызова любой функции данного прерывания, обращающейся к диску,  вы можете найти в буфере по адресу 0:442h. Длина  буфера - 7  байт;

- коды возврата последней выполнявшейся функции с дискетами  и с жесткими дисками, возвращаемые обычно в  регистре AH,  записываются так же в байты по адресу 0:441h (ГД) и 0:474 (ЖД) и  могут быть после этого возвращены вызовом функции 01h.

- стандартный BIOS XT выполняет только функции с 0 по 5 и  предназначен для работы с накопителями на гибких  дисках. Для  обслуживания запросов к жестким дискам на плате контроллера  жестких дисков имеется расширенный BIOS (в дальнейшем именуемый  расширенный BIOS XT), который при выполнении  процедуры  инициализации, вызываемой в процессе сканирования ПЗУ,  переписывает адрес стандартного обработчика INT 13h по адресу  0:100h и вызывает его при необходимости выполнения  запроса к  НГМД командой INT 40h;

- расширенный BIOS XT выполняет функции с 0 по 14h. Функции  с большими номерами реализованы только на более поздних моделях

 - AT, XT-286, PC Convertible и PS/2;

- в случае, если описываемая функция поддерживается не на  всех моделях или существуют различия в вызове и  интерпретации  результатов, это оговаривается особо при описании функции;

- при возникновении ошибки в результате выполнения функции,  обращающейся к накопителю на гибком диске,  рекомендуется  повторить вызов функции до 4 раз с предварительным сбросом  контроллера перед каждым новым обращением. Обращения следует

- 50  делать подряд друг за другом, не давая возможности мотору  остановиться, так как причиной ошибки может быть то, что он еще  не набрал необходимую скорость;

- при выполнении функций, требующих обмена с  диском,  следует разместить буфер для обмена в памяти таким образом,  чтобы он не пересекал границу 64-Кбайтной страницы ПДП,  иначе  попытка обмена будет безуспешной;

- для AT, XT-286, PC Convertible и PS/2 перед выполнением  любой операции с диском BIOS выполняет вызов INT 15h, фн 90h  ("устройство занято") с типом устройства 00h для жестких дисков  и 01h для дискет. После завершения операции с диском BIOS  выполняет вызов INT 15h, фн 91h - "обработка  прерывания  завершена". Если при обращении к дискете требуется запуск мотора  на дисководе, BIOS вызывает INT 15h, фн 90h, тип устройства 0FDh

 - "запуск мотора НГМД". Все описанные действия позволяют  многозадачной операционной системе управлять выполнением задач :  не давать возможности обратиться к устройству (если оно занято)  или переключиться на другую задачу на то время, пока двигатель  набирает необходимые обороты;

- если ваш дисковод для гибких дисков  поддерживает  несколько форматов дискет и контроллером поддерживается логика  Change Line (смена дискеты), позволяющая отследить открытие и  закрытие дверцы на дисководе, перед первым обращением к  вновь  вставленной дискете следует вызвать функцию 32h прерывания ДОС'а  INT 21h для правильного определения типа дискеты.  Если же  дискета не отформатирована и вы собираетесь ее форматировать, то  воспользуйтесь функциями 17h и 18h, описанными  ниже, для  установки правильных параметров дискеты и дисковода. При  невыполнении этих рекомендаций BIOS будет пытаться обратиться к  вашей дискете, считая по умолчанию ее формат максимально  допустимым для данного дисковода;

- для определения конкретных параметров накопителей BIOS  берет информацию о них из таблиц параметров. На  таблицу  параметров гибкого диска указывает вектор 1Eh, на  таблицу  параметров  первого жесткого диска вектор 41h, на  таблицу  параметров второго жесткого диска вектор 46h. Формат таблиц  параметров приведен в п. 3.4. Конкретное содержание таблиц  параметров жестких дисков зависит от типа диска.  Примеры  характеристик дисков, записанных в стандартных  таблицах  расширенного BIOS XT приведены в книге "Архитектура  ввода-вывода", изданной в данной серии.

2.5. Int 14h - Управление стыком RS-232C

Для управления последовательным интерфейсом (стыком  RS-232C) имеются следующие функции:

Функция Назначение

00h Инициализация порта

01h Вывод одного символа в порт

02h Ввод одного символа из порта

03h Опрос состояния порта

04h Расширенная инициализация порта (PS/2)

05h Расширенное управление портом (PS/2)

Примечания.

1. Фн 01h - 03h поддерживаются BIOS всех ПЭВМ, фн 04h и 05h  - только ПЭВМ семейства PS/2.

2. Номер стыка в описанных ниже функциях задается так: 0  COM1, 1 - COM2 и т. д. При этом в PS/2 он может варьироваться от  0 до 3, в остальных ПЭВМ - от 0 до 1. Базовый адрес порта для  стыка извлекается из области данных по адресу 00400h.

См. также: Область данных BIOS

 2.6. Int 15h - Системные утилиты

Это прерывание объединяет большую группу  функций, не  связанных с каким-либо конкретным внешним устройством, а именно:

Функция Назначение

00h Включить мотор кассетного магнитофона (PC, PCjr)

01h Выключить мотор кассетного магнитофона (PC, PCjr)

02h Чтение с кассетного магнитофона (PC, PCjr)

03h Запись на кассетный магнитофон (PC, PCjr)

0Fh Ловушка форматирования дисков   (PS/2)

21h Регистрация ошибок POST   (PS/2)

40h Операции с профилем системы (Convertible)

41h Ожидание внешнего события (Convertible)

42h Отключение ПЭВМ (Convertible)

43h Чтение состояния системы   (Convertible)

44h Управление встроенным модемом (Convertible)

4Fh Ловушка клавиатуры (многие)

80h Открыть устройство (многие)

81h Закрыть устройство (многие)

82h Освободить устройство   (многие)

83h Ожидание события (многие)

84h Работа с джойстиком   (многие)

85h Обработка SysReq (многие)

86h Задержка (AT, XT-286, PS/2)

87h Обмен с расширенной памятью (AT, XT-286, PS/2)

88h Получить размер расширенной памяти (AT, XT-286, PS/2)

89h Переключение в защищенный режим (AT, XT-286, PS/2)

90h Устройство занято   (многие)

91h Прерывание завершено (многие)

C0h Получить конфигурацию системы   (многие)

C1h Взять адрес дополнительной области данных BIOS (PS/2)

C2h Управление мышью (PS/2)

C3h Управление сторожем (PS/2)

C4h Выбор программируемых опций   (PS/2)

Фн 01h - 04h предназначены для работы с кассетным магнито фоном, которым комплектовались первые PC и PCjr и сегодня   представляют чисто исторический интерес. Фн 0Fh  - это  специфическая функция, которая поддерживается   только  контроллером жестких дисков IBM ESDI Adapter/A. Фн 40h - 44h  поддерживаются только в PC Convertible. Фн 86h - 89h реализованы  в ПЭВМ на базе процессоров 80286 и 80386, фн 21h и C1h - C4h  только в PS/2. Остальные функции реализованы на многих ПЭВМ, как  описано ниже.

 2.7. Int 16h - Обслуживание клавиатуры

Для управления клавиатурой используются следующие функции:

 Функция Назначение

00h Чтение клавиатуры

01h Опрос клавиатуры

02h Состояние клавиатуры

03h Задание скорости клавиатуры (PCjr, AT, PS/2)

04h Управление щелчком клавиш (PCjr, Convertible)

05h Запись в буфер клавиатуры   (многие)

10h Расширенное чтение клавиатуры   (многие)

11h Расширенный опрос клавиатуры (многие)

12h Расширенное состояние клавиатуры (многие)

2.8. Int 17h - Управление принтером

Для управления печатающим устройством имеются следующие  функции:

Функция Назначение

00h Вывод символа на печать

01h Инициализация принтера

02h Опрос состояния принтера

Примечания: Эти функции поддерживаются всеми версиями BIOS,  но при этом существуют следующие особенности.

BIOS AT, датированный ранее 11/15/85, PCjr, PC и BIOS XT от  11/08/82 проверяют базовый порт принтера с номером  DX на  совпадение с нулем. Если порт равен нулю, никакие  действия не  выполняются. В противном случае выполняется требуемая операция.

 Никаких дополнительных действий по проверке корректности порта  принтера, хранящегося в области данных по адресу  00408h, не  предпринимается.

BIOS XT от 01/10/86 и позже выполняет следующие проверки:  если DX больше 3 или базовый порт принтера с номером DX равен 0,  то никакие действия не выполняются и на выходе AH=29h.

BIOS PC Convertible проверяет базовый порт  принтера с  номером DX на совпадение с нулем. Если порт равен нулю, никакие действия не выполняются и на выходе AH=01h. В противном случае  выполняется требуемая операция. Никаких дополнительных действий  по проверке корректности порта принтера, хранящегося в области  данных по адресу 00408h, не предпринимается.

BIOS AT от 11/15/85 и XT-286 выполняют следующие проверки:  если DX больше 3 или базовый порт принтера с номером DX равен 0,  то никакие действия не выполняются и AH возвращается неизменным.

BIOS PS/2 выполняет следующие проверки: если DX больше 2  или базовый порт принтера с номером DX равен 0, то никакие  действия не выполняются и AH возвращается неизменным.

См. также: Многозадачная работа

2.9. Int 18h - Интерпретатор Бейсика

В этом векторе хранится адрес точки входа в интерпретатор  Бейсика, прошитый в ПЗУ. Если POST не может загрузить  операционную систему ни с дискеты, ни с жесткого диска, то он  вызывает это прерывания для входа в Бейсик.

Примечание. На IBM PC адрес входа в Бейсик равен F600h:0.

 PC-совместимые ПЭВМ не имеют встроенного Бейсик-интерпретатора и  должны взамен использовать его дисковую версию - программу  GW-BASIC.

2.10. Int 19h - Загрузка системы

Вызов этого прерывания производится в конце POST и приводит  к попытке чтения начального загрузчика операционной  системы  сначала с первого НГМД, а затем (при неудаче) - с первого  жесткого диска. Загрузочный сектор ОС располагается в  первом  секторе дорожки, головка. Он считывается по адресу 0:7C00h,  и управление передается по этому адресу. Дальнейщие действия  зависят от типа носителя: загрузочный сектор жесткого диска  анализирует таблицу разделов, загружает загрузчик  активного  раздела и передает ему управлению; загрузочный сектор дискеты  считывает непосредственно операционную систему и запускает ее.

Если загрузка ОС ни с дискеты, ни с жесткого  диска не  уадется, то управление передается Бейсику, прошитому  в ПЗУ  вызовом Int 18h.

Примечание: Это прерывание не эквивалентно нажатию клавиш  Ctrl+Alt+Del. Оно является лишь последним шагом в  цепочке  действий, вызываемых по нажатию этой комбинации клавиш, поэтому  прямой вызов int 19h из прикладной программы может  привести к  зависанию ПЭВМ. Корректная перезгрузка системы из программы  состоит в передаче управления по адресу F000h:FFF0h. Таким  образом Вы можете произвести как "холодную", так и "теплую"  перезагрузку системы.

Холодная перезагрузка эквивалентна загрузке по  включению

 ПЭВМ, теплая - перезагрузке по нажатию Ctrl+Alt+Del и отличается  от холодной пропуском теста ОЗУ. Для выполнения теплой переза грузки до передачи управления на F000h:FFF0h нужно заслать по  адресу 00472h слово 1234h.

См. также: Int 18h

Область данных в ПЗУ

2.11. Int 1Ah - Обслуживание таймера_F

Int 1Ah используется для чтения и установки системного  таймера и часов реального времени (RTC). Для этого имеются  следующие функции:

 Функция Назначение

00h Чтение системного таймера

01h Установка системного таймера

02h Чтение текущего времени RTC (AT)

03h Установка текущего времени RTC   (AT)

04h Чтение текущего даты RTC   (AT)

05h Установка текущего даты RTC (AT)

06h Задание времени побудки RTC (AT)

07h Сброс времени побудки RTC (AT)

08h Задание времени включения ПЭВМ (Convertible)

09h Чтение параметров побудки (Convertible, PS/2-30)

0Ah Чтение количества дней (некоторые XT, PS/2)

0Bh Установка количества дней (некоторые XT, PS/2)

80h Управление звукогенератором (PCjr)

Фн 00h и 01h доступны на всех ПЭВМ; фн 02h - 07h - на всех

ПЭВМ, оснащенных часами реального времени, т. е. на AT, XT-286,  PC Convertible и PS/2. Фн 08h поддерживается только на PC

 Convertible, 09h - на PC Convertible и PS/2 модель 30. Фн 0Ah и

 0Bh - доступны на XT от 01/10/86 и PS/2. Наконец, фн 80h поддер живается только PCjr.



  © Реферат плюс


Поиск
Реклама

  © REFERATPLUS.RU  

Яндекс.Метрика