Программирование CMOS на Assembler Страница 2. Данные CMOS
|
Страница 2 из 4
Данные CMOS CMOS является нечто вроде базы данных, которая предназначена для хранения информации о конфигурации ПК. Однако, в отличие от реальной БД, которая имеет реальный образ на магнитном носителе, CMOS хранит свои данные на микросхеме многократной записи (write many-read many). Программа установки BIOS SETUP при записи сохраняет в ней свою системную информацию, которую впоследствии сама же и считывает (при загрузке ПК). Каждая ячейка имеет размер в 1 байт. Таблица данных имеет следующий вид: Адрес | Назначение | 00H-0DH | RTC (Real Time Clock) - часы реального времени (таймер) | 0EH | Байт статуса процедуры POST (результат загрузки ПК) | 0FH | Байт завершения работы ПК | 10Н | Тип дисковода | 11Н | Зарезервировано | 12Н | Тип(ы) винчестера (если значение < 15) | 13Н | Зарезервировано | 14Н | Байт конфигурации оборудования | 15Н-16Н | Размр базовой памяти | 17Н-18Н | Размер памяти за пределом 1 Мб | 19Н | Тип винчестера С: (если значение > 15) | 1АН | Тип винчестера D: (если значение > 15) | 1BH-20H | Зарезервировано | 21H-2DH | Зарезервировано | 2EH-2FH | Контрольная сумма CMOS (от 10Н - 20Н) | 30Н-31Н | Размер расширенной памяти за пределом 1 Мб | 32Н | Номер текущего века в BCD нотации (например 17Н) | 33Н | Другая информация | 34Н-3АН | Зарезервировано | Ячейки таблицы, показанные красным цветом, представляют собой адреса CMOS, защищенные контрольной суммой. То есть запись в диапазон адресов 10Н-20Н должен сопровождаться корректировкой значений в ячейках 2ЕН-2FH. Иначе можно получить сообщение о неправильной установке параметров или о «усохшей» батарее CMOS. Контрольная сумма представляет собой 16-битную сумму всех значений, записанных в ячейки CMOS с 10Н по 20Н. В ячейку 2ЕН пишется старший байт суммы, а в 2FH - младший. В любом случае, мой вам совет - сначала сохраните старое значение CMOS (да и вообще все значения CMOS)а потом просто вычитайте или складывайте нужные значения с полученной контрольной суммой. Так проще. |