Программирование CMOS на Assembler
Страница 4. Подробнее об адресах CMOS


 

Подробнее об адресах CMOS

Итак, остановимся на подробном рассмотрении значений, хранящихся в CMOS.

Адрес (HEX) Описание
00Н Текущая секунда
01Н Сигнальная секунда
02Н Текущая минута
03Н Сигнальная минута
04Н Текущий час
05Н Сигнальный час
06Н Текущий день недели (1 - Воскресенье)
07Н Текущий день месяца
08Н Текущий месяц
09Н Текущий год (только 2 последние цифры, напр. 98)

Все значения RTC хранятся в BCD формате как 2 полубайта но в десятичном формате. Например 31 (dec) хранится как 31 (hex).

Адрес (HEX) Описание
0AH Регистр статуса RTC (# A): Биты 0-3 - Селектор уровня (установлены в 0110) Биты 4-6 - 22-уровневый делитель (установлен в 010) Бит 7 - В данный момент производится обновление (если == 0 то разрешено чтение)
0BH Регистр статуса RTC (# B): Бит 0 - Включен режим экономии времени (летнее); (0 = стандартное время; по умолч. = 0) Бит 1 - 12 или 24 часовой режим времени (если 0 то 12 часовой; по умолч. = 1) Бит 2 - Режим BCD даты (1=двоичный, 0 =BCD, по умолч. = 0) Бит 3 - Включить Square Wave (1=включить; по умолч. = 0) Бит 4 - Включить прерывание обновления (0=отключить, по умолч. = 0) Бит 5 - Включить сигнальное прерывание (0=отключить, по умолч = 0) Бит 6 - Включить периодическое прерывание (0=отключить, по умолч. = 0) Бит 7 - UIP флаг (Update In Progress), 0 - можно читать CMOS
0CH Регистр статуса RTC (# С):в основном не используется
0DH Регистр статуса RTC (# D):если бит 7=1, то питание CMOS включено, если бит 7=0 - то батарея разряжена.
0EH Байт диагностики загрузки (POST Byte): Биты 0 и 1 всегда равны 0. Бит 2 - Время правильное (1=верно, что сегодня не 30 февраля) Бит 3 - Неверный загрузочный жесткий диск (1=нельзя загрузиться с винчестера) Бит 4 - Ошибка размера RAM (1=POST нашла неверный размер RAM) Бит 5 - Неверная запись об оборудовании (1=неверное оборудование) Бит 6 - Неверная контрольная сумма (1=неверная сумма CMOS) Бит 7 - Утеря питания батареи CMOS (1=утеря питания)
0FH Байт статуса завершения работы ПК.Применяется чаще всего после перезагрузки ПК процедурой SETUP. Значения могут быть следующие: 0 , если была перезагр. по нажатии Ctrl-Alt-Del или неожиданный перезапуск. В любом случае - процедура POST НЕ выполняется 1 перезапуск после определения размера памяти 2 перезапускпосле теста памяти 3 перезапуск после обнаружения ошибки памяти 4 перезапуск по запросу загрузчика ОС 5 перезапуск вследствие дальнего перехода (FAR JMP) на адрес 0:0467Н 6,7,8 перезапуск после проверки защищ. режима 80286 9 перезапуск после переназначения блока памяти (ф-я 0х87 прерыв. 0х15)
10Н Байт типа дисковода: Биты 0-3: первый дисководБиты 4-7: второй дисковод В любом случае, значения битов могут быть следующими: 0000 = 0 = дисковод не установлен 0001 = 1 = 360К 0010 = 2 = 1,2 Мб 0011 = 3 = 720К 0100 = 4 = 1,44 Мб Например: 24Н - это диск А: размером 1,2М и диск В: размером 1,44М
11Н РЕЗЕРВ
12Н Тип винчестера (для дисков С: и D:, когда байт наход. В промежутке от 1 до 14).Биты 0-3: первый винчестерБиты 4-7: второй винчестер В любом случае, значения битов могут быть следующими: 0000 = 0 = диск не установлен другое_значение = тип диска 1111 = см. адреса 19Н и 1АН
13Н РЕЗЕРВ
14Н Байт оборудования: Бит 0 = 1, если присутствует дисковод(ы) Бит 1 = 1, если присутствует матем. сопроцессор Биты 2, 3не используются и равны 0 Биты 5, 4 - основной видеоадаптер: · 00 - нет или EGA · 01 - 40*25 EGA, CGA, VGA · 10 - 80*25 EGA, CGA, VGA · 11 - монохромный (ч/б)Биты 6, 7 - количество дисководов - 1 (00=1, 01=2, 10=3, 11=4)
15Н, 16Н Базовая память 15Н - младший байт 16Н - старший байт Могут быть равны: · 0100Н = 256К · 0200Н = 512К · 0280Н = 640К
17Н, 18Н Дополнительная память свыше 1 Мб 17Н - младший байт 18Н - старший байт Размер записан в Кб.
19Н Тип диска № 0 (С:), если значение адреса (12Н & 0FH) = 0FH
20Н Тип диска № 1 (D:), если значение адреса (12Н & F0H) = F0H
1BH-2DH РЕЗЕРВ
2ЕН, 2FH Контрольная сумма значений адресов от 10Н по 20Н · 2ЕН - старший байт · 2FH - младший байт
30Н-31Н РЕЗЕРВ
32Н Век в формате BCD
33H Другая информация (специфич. для машин AT/PS-2 класса)
34Н-3FH РЕЗЕРВ. Как показывает практика, эта область чаще всего свободна от системных данных (но не всегда!), поэтому можете записывать сюда свои личные данные (но не много J) для сохранения между перезагрузками)

Итак, мы рассмотрели CMOS, его логическое строение и структуру. Конечно, в таблице приведены лишь общие для всех машин значения параметров CMOS, но тем не менее даже с этим «набором» можно сделать много «чего», например подключить отключенный администратором дисковод (см. адреса 14Н, 10Н, 2ЕН, 2АР) и т.д. В любом случае: будьте крайне осторожны, не делайте ничего такого, чего потом вы не сможете вернуть обратно. Всё же буду надеяться, что данная статья принесёт вам пользу.

 
« Предыдущая статья   Следующая статья »