Призначення та формати регістрів КМОН-пам’яті

Для запису або читання даних з пам’яті пристрою MC 146818, як будь-якого

пристрою вводу/виводу, використовуються команди мікропроцесора OUT та IN. Порт 70h ділиться між регістром маски переривання NMI та регістром адреси пам’яті конфігурації. Для того, щоб регістр маски NMI був недоступний, потрібно, щоб біт 7 регістра адреси годинника реального часу (RTC) був скине-

ний.

Для запису даних про конфігурацію системи використовуються такі команди:

· OUT 70h, AL – визначає комірку пам’яті, в яку будуть записуватися дані;

70h – номер порту; AL – регістр повинен містити адресу комірки КМОН-пам’яті;

· OUT 71h, AL – передає дані для вибраної комірки пам’яті; 71h – номер порту; AL – містить дані.

Для читання вмісту комірки пам’яті використовуються такі команди:

· OUT 70h, AL – визначає комірку пам’яті, з якої будуть зчитуватися дані;

· IN AL, 71h – для читання даних, що зберігаються в комірці пам’яті, яка визначена попередньою командою; дані записуються в регістр AL процесора.

 


У таблиці 1 наведена інформація, що зберігається в комірках годинника реального часу MC 146818.

 

 

Таблиця 1 – Призначення регістрів КМОН-пам’яті

 

Регістр Функція
00h Секунди поточного часу
01h Секунди будильника
02h Хвилини поточного часу
03h Хвилини будильника
04h Години поточного часу
05h Години будильника
06h День тиждня
07h Число
08h Місяць
09h Рік
0Ah Регістр стану A
0Bh Регістр стану B
0Ch Регістр стану C
0Dh Регістр стану D
0Eh Діагностичний байт
0Fh Байт коду скидання
10h Тип драйвера НГМД
11h Зарезервовано
12h Тип драйвера НТМД
13h Зарезервовано
14h Інстальовані пристрої
15h, 16h Розмір основної пам’яті
17h, 18h Інстальована розширена пам’ять
19h Тип драйвера C, якщо є додатковий драйвер
1Ah Тип драйвера D, якщо є додатковий драйвер
1Bh – 2Ch Зарезервовано
2Dh Додаткові прапорці
2Eh, 2Fh Значення контрольної суми
30h, 31h Пам’ять більша 1 Мб
32h Століття, частина дати та часу
33h Системна інформація
34h – 3Eh Зарезервовано
3Fh Не використовується

 

Таблиця 2 – Структура регістра стану 0Ah (читання і запис крім D7)

 

Біт Значення
  D3 – D0 Коефіцієнт ділення частоти генератора годинника. Значення за замовчуванням 0110 (1,024 кГц)
D6 – D4 Основна частота генератора годинника.

 

 


 

  Значення за замовчуванням 010 (32,768 кГц)
D7 0 / 1 – читання пристрою дозволено / оновлення поточного часу

Таблиця 3 – Структура регістра стану (читання і запис)

 

Біт Значення
  D0 0 – без запам’ятовування годин дня 1 – із запам’ятовуванням годин дня
  D1 12-годинний режим 24-годинний режим
  D2 0 – час і дата у форматі BCD 1 – час і дата у двійковому форматі
  D3 0 – вихід генератора прямокутних імпульсів дозволений 1 – вибір вихідної частоти регістром A заборонено
  D4 0 – переривання після оновлення заборонено 1 – переривання після оновлення дозволено
  D5 0 – переривання від будильника заборонено 1 – переривання від будильника дозволено
  D6 0 – переривання з частотою, визначеною регістром A, заборонено 1 – переривання дозволено
  D7 0 – стандартні операції 1 – встановлення часу оновлення даних дозволено

 

Таблиця 4 – Структура регістра стану 0Ch (тільки читання)

 

Біт Значення
D3 – D0 0000 – не використовується
D4 1 – прапорець переривання після закінчення оновлення даних
D5 1 – прапорець переривання від будильника
D6 1 – прапорець періодичного переривання
D7 1 – вихідний сигнал переривання активний

 

Таблиця 5 – Структура регістра стану 0Dh (тільки читання)

 

Біт Значення
D6 – D0 0000000 – не використовуються
  D7 0 – годинник реального часу має автономне живлення 1 – годинник реального часу не має живлення

 

Таблиця 6 – Структура регістра стану 0Eh

 

Біт Значення
D1, D0 00 – не використовуються
D2 1 – час недійсний
D3 1 – помилка НТМД
  D4 1 – розмір пам’яті визначений під час ініціалізації систем не відповідає розміру, зазначеному в конфігурації пам’яті
  D5 1 – при перевірці конфігурації системи під час ініціалізації виявлено відсутність пристроїв, заданих в конфігурації пам’яті

 


 

D6 1 – невірна контрольна сума – помилка в ROM
D7 1 – годинник реального часу не має живлення

Таблиця 7 – Структура байта коду скидання 0Fh

 

Значення Сенс
00h Нормальне скидання по живленню
04h Завантаження DOS з диска
  05h Після ініціалізації обох контролерів переривання перехід до вектора скидання 0040:0067
09h Повернути Block Move
  0Ah Перехід до вектора скидання 0040:0067 – без ініціалізації кон- тролерів переривання

 

Таблиця 8 – Структура байта типу драйвера НГМД 10h

 

Біт Значення
  D3 – D0 Тип драйвера другого НГМД: 0000 – драйвера НГМД немає 0001 – 360 кб 0010 – 1,2 Мб 0011 – резерв 0100 – 1,44 Мб 0101 – 1111 – резерв
  D7 – D4 Тип драйвера першого НГМД: 0000 – драйвера НГМД немає 0001 – 360 кб 0010 – 1,2 Мб 0011 – 1111 – резерв

 

Таблиця 9 – Структура байта типу драйвера НТМД 12h

 

Біт Значення
    D3 – D0 Тип драйвера другого НТМД: 0000 – драйвера НТМД немає 0001…1110 – 1…14 1111 – інші (байт 1Ah)
    D7 – D4 Тип драйвера першого НТМД: 0000 – драйвера НТМД немає 0001…1110 – 1…14 1111 – інші (байт 19h)

 

Таблиця 10 – Структура байтів об’єму основної пам’яті 15h, 16h

 

Значення   Об’єм пам’яті
16h 15h
00h 80h 128 кб
01h 00h 256 кб
02h 00h 512 кб

 


 

02h 80h 640 кб
04h 00h 1 Мб

 

Таблиця 11 – Структура байта інстальованих пристроїв 14h

 

Біт Значення
  D0 0 – драйвер НГМД не інстальований 1 – драйвер НГМД інстальований
  D1 0 – співпроцесор не інстальований 1 – співпроцесор інстальований
D3, D2 00 – не використовуються
  D5, D4 Тип контролера дисплея та режим роботи: 00 – зарезервовано 01 – кольоровий/графічний, 40 рядків 10 – кольоровий/графічний, 80 рядків 11 – монохром/неграфічний
    D7, D6 Число інстальованих драйверів НГМД: 00 – один драйвер 01 – два драйвери 10, 11 – зарезервовано

 

Таблиця 12 – Структура байтів об’єму пам’яті розширення 17h, 18h

 

Значення   Об’єм пам’яті
17h 18h
02h 00h 512 кб
02h 80h 640 кб
04h 00h 1 Мб
3Ch 00h 15 Мб

 

Таблиця 13 – Структура байтів пам’яті вище 1 Мб 30h, 31h

 

Значення   Об’єм пам’яті
30h 31h
02h 00h 512 кб
02h 80h 640 кб
04h 00h 1 Мб
3Ch 00h 15 Мб

 

Таблиця 14 – Структура байта системної інформації 33h

 

Біт Значення
D5 – D0 000000 – не використовуються
D6 Використовуються програмою SETUP
D7 1 – інстальовано більше 1 Мб пам’яті

 

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: