- •1.Шинна архітектура ibm pc. Класифікація шин комп'ютера по їхньому функціональнім призначенню. Пропускна здатність шини.
- •2.Взаємодія мікропроцесора з текстовим відеобуфером (схематична ілюстрація). Байт атрибутів vga. (Проілюструвати фрагментом програми).
- •3.Відеопам'ять адаптера vga і її фізична організація. Банки відеопам'яті адаптера vga і їх призначення. Логічна організація відеопам'яті в текстовому режимі.
- •4.Відеосторінки і їх програмування. Етапи програмування.
- •5.Підсистеми ibm pc для тимчасових операцій. Апаратне переривання 8h і його розширення 1Ch.
- •6.Читання часу доби ibm pc і виведення його на екран.
- •7. Виведення на екран системного часу з Cmos-мікросхеми.
- •8. Переривання 1Ah і його використання.
- •9. Мікросхема таймера і її організація. Канали мікросхеми таймера і їх призначення. (Проілюструвати фрагментами програми).
- •10. Шлях проходження ‘тиків’ у комірку пам'яті 46Сh. Програмування годин часу доби.
- •11. Регістри сом-портів і їх призначення.
- •12. Роль кодової таблиці ascii у текстовому режимі відеоадаптера.
- •14. Структура власного (користувацького) вектора переривання. Завантаження в оперативну пам'ять власного вектора переривання і його вивантаження з пам'яті. (Проілюструвати фрагментом програми ).
- •15. Функції dos, використовувані при створенні користувацького вектора переривання. (Проілюструвати програмою).
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 (Interrupt Return – возврат из прерывания) В ячейку памяти 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 – младшая часть.