Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Дослідження структури CMOS - пам'яті і годинника реального часу персонального комп’ютера IBM PC AT

Тип роботи: 
Контрольна робота
К-сть сторінок: 
12
Мова: 
Українська
Оцінка: 

justify;">бітів враховується тільки в тому випадку, якщо біт 0 має значення 1.

Регістри з адресами 15h і 16h зберігають молодший і старший байти 16-розрядного слова, що містить розмір основної пам'яті комп'ютера в кілобайтах. Практично дане слово може містити або значення 280h, відповідне розміру 640 Кбайт, або значення 400h відповідне розміру 1 Мбайт.
Регістри з адресами 17h і 18h зберігають молодший і старший байти 16-розрядного слова, що містить розмір додаткової пам'яті комп'ютера в кілобайтах.
Дане слово може приймати значення в діапазоні від 200h (відповідає об'єму додаткової пам'яті 512 Кбайт) до FC00h (відповідає об'єму 63 Мбайт). Сучасні комп'ютери, проте, можуть мати об'єм пам'яті до 2 Гбайт. У випадку якщо об'єм додаткової пам'яті більше 63 Мбайт (загальний об'єм встановленої пам'яті перевищує 64 Мбайт), вказане слово міститиме ознаку великого об'єму пам'яті — недокументоване значення, про яке відомо тільки, що воно більше FC00h.
 
Рис.9 Формат регістра 14h
 
Регістр з адресою 19h містить розширений код типу першого жорсткого диска, а регістр з адресою lAh — розширений код типу другого жорсткого диска. Для розшифровки коду типу диска існує спеціальна таблиця, проте на даний момент вона вже повністю застаріла — всі перераховані в ній типи дисків давно зняті з виробництва і практично вже вийшли з вживання. Регістри з адресами lBh-2Dh вважаються зарезервованими і можуть використовуватися розробниками BIOS на свій розсуд.
Регістри 2 Eh містить старший байт, а регістр 2Fh — молодший байт контрольної суми регістрів 10h-2Dh.
Регістри з адресами 30h і 31h дублюють вміст регістрів 17h і 18h відповідно, тобто містять розмір додаткової пам'яті комп'ютера. Регістр 32h зберігає значення поточного століття в коді BCD.
Регістр з адресою 33h, структура якого показана на рис. 10, містить байт системної інформації, розряди якого мають наступне призначення:
•біти 0-5 не використовуються (містять нулі);
•біт 6 — використовується процедурою BIOS SETUP;
•біт 7 — ознака наявності в системі більше 1 Мбайт пам'яті.
 
Рис. 10 Формат регістра
 
Виконується на самостійній підготовці
Написати програму за прикладом, з додатку1 що виконує дії згідно завдання вказаного викладачем.
ВаріантЗавдання
1.12.Написати програму для зчитування часу з годинника реального часу.
3.24.Написати програму для зчитування дати з годинника реального часу.
5.36.Написати програму для зчитування типу та кількості дисководів що є в системі по інформації BIOS SETUP.
7.48.Написати програму для зчитування стану будильника з годинника реального часу.
Виконується в лабораторії
1.Запустити ПК в режимі MS-DOS (не в вікні MS-DOS операційної системи WINDOWS)
2.В текстовому редакторі набрати програму розроблену при підготовці до лабораторної роботи.
3.За допомогою програми tasm скомпілювати програму.
4.За допомогою програми tlink перевести об'єктний модуль в виконуваний файл.
5.За допомогою програми turbo debbuger (Td.exe) відладити написану програму, у випадку знаходження помилок що були у програмі, виправити помилки і виконати пункти від 2 до 5.
6.Запустити програму на виконання.
7.Показати результати роботи викладачу.
 
Контрольні запитання
 
1. Призначення CMOS пам'яті в ПК.
2. Призначення годинника реального часу в ПК.
3. Структура комірок пам'яті в ПК.
4. Процедура доступу до комірок CMOS пам'ті в ПК.
5. Формат регістрів опису жорстких та гнучких дисків в ПК.
 
Література:
 
1. Кулаков В. Програмирование дисковых подсистем – Спб:Питер ,2002 – 768 с.
2. Гук М. Аппаратные средства IBM PC. Энцыклопедия – Спб. Питер, 2001 – 816с.
3. Левкин Г.Н. Левкина В.Е. Введение схемотехнику ПЭВМ PC/AT-M Издательство МПИ 1991, 96 с.
 
Додаток 1
Приклад програми, яка зчитує дату і час безпосередньо з CMOS, наведений в лістингу 1.
Лістинг 1 Зчитування дати і часу напряму з регістрів CMOS
; Зчитування дати і часу напряму з регістрів CMOS
IDEAL
Р386
LOCALS
MODEL MEDIUM
; Підключити файл мнемонічних позначень
: кодів управляючих клавіш і колірних кодів
include "lst03_01.inc"
: Підключити файл макросів
include "lst03_04.inc"
DATASEG
; Текстові повідомлення
Txt l DB LIGHTMAGENTA.0,23
DB "ПРОЧИТУВАННЯ ДАТИ І ЧАСУ З CMOS".0
DB LIGHTGREEN,12.18."ТЕКУЩАЯ ДАТА І ЧАС:".0
; Вказівки оператору
AnyK DB YELLOW.24,29,"Нажміть будь-яку клавішу".0
: Шаблон дати і часу
ZeroDate DB "00.00.0000 00:00:00",0
; Значення дати в CMOS
CMOS_Century DB ?
CMOS_Year DB ?
CMOSJIonth DB ?
CMOS_Day DB ?
: Значення часу в CMOS
CMOSJHour DB ?
CMOS_Minute DB ?
CMOS_Second DB ?
ENDS
SEGMENT sseg para stack 'STACK'
DB 400h DUPC?)
ENDS
CODESEG
 
* Основний модуль програми *
*****************************
PROC IdentifyDevices
mov АХ.DGROUP
mov DS.AX
: Встановити текстовий режим і очистити екран
mov АХ,3
int 10h
: Приховати курсор - прибрати за нижню межу екрану
mov [ScreenString],25 
mov[ScreenColumn],0
callSetCursorPosition
; Вивести заголовок на екран
MShowColorText 2,Txtl
 
: Заборонити переривання
cli
: Перевірити флаг оновлення стану
@@TestUIP:
movAL,0Ah ;регістр стану А
out70h,AL
inAL,71h
testAL,80h
jnz@@TestUIP повторити опитування
: Зчитування часуз CMOS
movAL,00h ;регістр секунд
out70h,AL
noр
inAL,71h
mov[CMOS_Second],AL
movAL,02h ;регістр хвилин
out70h,AL
noр
inAL,71h
mov[CMOS_Minute],AL
movAL,04h ;регистр годинника
out70h,AL
noр
inAL,71h
mov[CMOS_Hour],AL
: Перевірити флаг оновлення стану
movAL,0Ah ;регістр стану А
out70h,AL
inAL,71h
testAL,80h
jnz@@TestUIP повторити опитування
Зчитування дати з CMOS
movAL,07h ;регістр номера дня місяця
out70h,AL
noр
inAL,71h
mov[CMOS Day],AI
movрегістр номера місяця
out
inAL,71h
mov[CMOS_Month],AL
movAL,09h ;регістр номера року
out70h,AL
nор
inAL,71h
mov[CMOS_Year] ,AL
Перевіритифлаг оновлення стану
movAL,0Ah ;регістр стану А
out70h,AL
inAL,71h
testAL,80h
jnz@@TestUIP повторити опитування
Дозволити переривання
sti
Визначитиномер сторіччя
mov[CMOS_Century],19h :сторіччя в коді BCD
cmp[CMOS_Year],80h : рік в коді BCD
jae@@19
mov[CMOS Century] 20h
@:19
; Вивести заповнений нулями шаблон дати і часу
mov SI,offset ZeroDate
MShowASCIIField 12.40,0.20 ; Вивести дату
; Вивести номер дня
MShowHexByte 12.40, [CMOS__Day]
; Вивести номер місяця
MShowHexByte 12.43, [CMOS_Month]
: Вивести номер року
MShowHexByte 12,46, [CMOS_Century]
MShowHexByte 12.48, [CMOSJear] : Вивести час
; Вивести годину
MShowHexByte 12.52, [CMOS_Hour]
; Вивести хвилину
MShowHexByte 12.55, [CMOS_Minute]
: Вивести секунду
MShowHexByte 12.58, [CMOS_Second]; Вивести команду оператору
MShowColorloi Anyk Чекати натиснення клавіш
call (очистити екран)
mov ах,3
int 10h ;
 Вихід в DOS
mov AH,4Ch
int 21h 
ENOP IdentifyDevices 
ENDS
: Підключити процедури вводу-виводу
include "lst03_02.inc"
: Підключити процедури для переводу чисел з двійкового
; кода в десятковий
include "lst03_03.inc"
END
Фото Капча