- •1.Шинна архітектура ibm pc. Класифікація шин комп'ютера по їхньому функціональнім призначенню. Пропускна здатність шини.
- •3.Відеопам'ять адаптера vga і її фізична організація. Банки відеопам'яті адаптера vga і їх призначення. Логічна організація відеопам'яті в текстовому режимі.
- •5.Підсистеми ibm pc для тимчасових операцій. Апаратне переривання 8h і його розширення 1Ch.
- •7. Виведення на екран системного часу з Cmos-мікросхеми.
- •9. Мікросхема таймера і її організація. Канали мікросхеми таймера і їх призначення. (Проілюструвати фрагментами програми).
- •10. Шлях проходження ‘тиків’ у комірку пам'яті 46Сh. Програмування годин часу доби.
- •8. Переривання 1Ah і його використання.
- •6.Читання часу доби ibm pc і виведення його на екран.
- •4.Відеосторінки і їх програмування. Етапи програмування.
- •2.Взаємодія мікропроцесора з текстовим відеобуфером. Байт атрибутів vga. (Проілюструвати фрагментом програми).
- •11. Регістри сом-портів і їх призначення.
- •15. Функції dos, використовувані при створенні користувацького вектора переривання. (Проілюструвати програмою).
- •14. Структура власного (користувацького) вектора переривання. Завантаження в оперативну пам'ять власного вектора переривання і його вивантаження з пам'яті. (Проілюструвати фрагментом програми ).
- •12. Роль кодової таблиці ascii у текстовому режимі відеоадаптера.
9. Мікросхема таймера і її організація. Канали мікросхеми таймера і їх призначення. (Проілюструвати фрагментами програми).
IBM PC содержит 8253(8254) микросхему , кот. генерирует сигналы практически для всех подсетей. Эта микросхема содержит кварцевый генератор импульсов(1,193 МГц). С кв. генератором соединено 3 линии (канала), каждая из которых содержит два 16тиразрядных регистра , через которые идет сопряжение с подсистемой компьютера .
0-рег.задвижка;
1-рег.счетчика(служит для пересчета сигналов кварцевого генератора).
Имеется 4 порта вв/выв с такими адресами:
1) 40h – канал 0 - отвечает за формирование часов времени суток и обслуживание операций ;
2) 41h – канал 1 – для регистрации операций памяти компа через DMA (Direct Memory Access);
3) 42h - канал 2 – функционирование динамика ;
4) 43h – управляющий регистр.
Формат порта 43h:
1-номер канала:00-0;01-1;10-2;11-чтение сост.канала
2-способ загрузки:01-младшую;10-старшую;11-за 2 раза(сначала мл., затем ст.)
3-режим динамика:011;110 ;101.При программировании динамика нужно использовать порт 61h.
Пример:
In AL,43h
Mov AL,10110110b
Out 43h,AL
Здесь In - копирует данные из порта источника в порт приемника; Out – записывает данные в порт;4-система счисления ;0 - 46х; 1 – BCD – десятичное число в двоичном формате.
Фрагмент пр-мы, илллюстр. инициализацию портов:
MOV AL, 1011011b
OUT 43h, AL
MOV AX, 3A56h
MOV AL, 56h
OUT 42h, AL
MOV AL, AH
OUT 42h, AL
10. Шлях проходження ‘тиків’ у комірку пам'яті 46Сh. Програмування годин часу доби.
Ячейка памяти 46Сh – хранятся часы времени суток, поступает инф. от микросхемы таймера.
Таймер связан с генератором линейных импульсов, который дает сигналы. Регистр-задвижка по умолчанию содержит число 65536. Контроллер аппаратных прерываний подает сигнал МП. Система делит 1196 (частоту генератора) на это число и получает число 18,2. 18,2 раза в сек МП обращается к вектору прерываний 8h. Далее 8h – к прерыванию 1Сh. 1Сh выполняет единственную команду IRET (возврат из прерывания) В ячейку памяти 0040:6Сh поступают сигналы, которые наз. «тики».
Чтение часов времени суток осуществляется функцией 00h прерывания INT 1Аh. Эта ф-ия возвращает значение ячейки 46Сh в регистр DХ – младшая часть (сек), в СХ – старшая часть.
Пр. макроса для организации временных задержек:
Timer46Ch macro Sleep PUSH BX, CX
MOV AH, 00h INT 1Ah ADD DX, 18*Sleep
MOV BX, DX Repeat: INT 1Ah, DX CMP DX, BX
JNE Repeat POP CX, BX endm
Для работы со временем используют прерывания 8h, 1ch, ячейку памяти 0040:006c.С частотой 18.2 Гц CPU приостанавливает работу всех систем компьютера. Каждый раз микропроцессор обращается к вектору прер. 8h, далее к прер. 1ch и выполняет обработчики прер. По умолчанию обрабатывается заглушка IRET.
Обработчик прерывания 8h
int 1ch mov al, 20h; код разрешения сброса регистра обслуживания запроса контроллера аппаратных прерываний. out 20h,al; IRET
При загрузке в ячейку 46ch поступает реальное время. Использование прер 1сh позволяет не мешать системному времени выполнятся, и в то же время менять временные задержки тех программ, которые будут размещены в этом обработчике.
Чтение часов времени суток.
Осуществляется функцией 00h прер 1Ah. Эта функция возвращает значение ячейки 0040:006ch в регистры cx – старшая часть, dx – младшая часть.
Вся временная инф в CMOS хранится в формате BCD чисел. BCD – это числа десятичной системы 0..9, но записанные в двоичном формате. Бывают упакованными или распакованными. Но и тот и другой формат должен содержать каждую цифру в 4 битах. Упакованный формат – это когда в одном байте можно поместить числа от 0 то 99. Каждая цифра должна занимать свой полубайт. Распакованный формат – когда в каждом байте от 0 до 9.
Схематическое представление обработки прер 8h, т.е. получения часов времени суток.
Вывод системного времени из CMOS микросхемы:
mov ah, 02 int 1ah
ch – часы, cl – минуты, dh – секунды.
Программирование часов времени суток
2 ch – получить дату 2 dh – установить дату (DL – день,DH- месяц,CX - год)
Установка времени – Mov ch, hours
Mov cl, min Mov dh, sec Mov ah, 2dh
Int 21h Получение – Mov ah,2ch int 21h