Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Belenko.doc
Скачиваний:
3
Добавлен:
28.10.2018
Размер:
193.02 Кб
Скачать

8. Переривання 1Ah і його використання.

Прерывание – готовая подпрограмма, которая умеет что-либо делать. Прерывания по содержанию делятся на аппаратные (генерируются внешними устройствами) и внутренние (не обращаются к контроллеру ап. пр-я, не генерируются событиями).

Прерывание 1Ah - это служебное (системное) прерывание.

Следует иметь ввиду, что временные значения хранятся в BCD-формате (числа десятичной системы в двоичном формате).

1Аh позволяет прочесть текущую дату из Cmos -микросхемы через соответствующую функцию 4h.

mov AH,4h

int 1Ah

Результат: DL-день недели;DH-месяц; СL-век;СH-год,CF=0 (ошибка).

Вывод на экран системного времени из КМОП-микросхемы осуществляется через функцию 2h прерывания 1Аh.

mov AH,2h

int 1Ah

Рез: СH-часы;СL-минуты;DH-секунды.

С помощью функции 03h можно установить время Cmos –микросхемы.

mov AH,03h

mov СH,час

mov СL,минуты

mov DH,секунды

mov DL,1

int 1Ah

Также с помощью 1Аh можно установить «будильник»:записать в микросхему часов значение календарного времени , когда часы должны выдать сигнал . Для этого используется функция №6.

Обработчик прерываний 1Аh выводит текущее время в определенное место экрана. Обработчик активируется . Выводимое значение каждую секунду обновляется.

Функция прерывания 1Аh применяется для работы с каналом №0.

00h-чтение содержимого счетчика таймера.

01h-изменение содержимого.

Прерывание 1Ah позволяет работать со всеми временными подсистемами.

6.Читання часу доби ibm pc і виведення його на екран.

Для работы со временем используют прерывания 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, но записанные в двоичном формате. Бывают упакованными или распакованными. Но и тот и другой формат должен содержать каждую цифру в четырех битах. Упакованный формат – это когда в одном байте можно поместить числа от 0 то 99. Каждая цифра должна занимать свой полубайт. Распакованный формат – когда в каждом байте от 0 до 9.

Схематическое представление обработки прерывания 8h, т.е. получения часов времени суток.

Вывод системного времени из CMOS микросхемы:

mov ah, 02

int 1ah

ch – часы, cl – минуты, dh – секунды.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]