
- •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 – младшая часть.