Функции ОС для работы с векторами прерываний

Слайд 2

Функции работы с системными временем и датой 2Ah ? AH ;

Функции работы с системными временем и датой

2Ah ? AH ; Получение

системной даты
Функция возвращает в регистрах:
AL – день недели ( 0 – воскресенье, …, 6 – суббота ); CX - год ( 1980 – 2099 );
DH - месяц ( 1 – 12 ); DL - число (1 – 31 ).
2Bh ? AH ; Изменение даты
Входные данные:
CX ? год ( до 2099 ); DH ? месяц ( 1 – 12 ):
DL ? число ( 1 – 31 ). Функция возвращает в AL – 00h, если дата действительная,
FFh, если дата недействительная.
2Ch ? AH ; Получение системного времени
Функция возвращает в регистрах:
CH - час ( 0 – 23 ); CL - минуты ( 0 – 59 ); DH - секунды ( 0 – 59 ); DL – сотые доли сек.
2Dh ? AH ; Изменение системного времени
Входные данные:
CH - час ( 0 – 23 ); CL - минуты ( 0 – 59 ); DH - секунды ( 0 – 59 ); DL – сотые доли сек.
Слайд 3

Пример. Управление звуком от таймера. Генерация тона ( высоты звучания )

Пример. Управление звуком от таймера. Генерация тона ( высоты звучания )


mov

al, 0B6h ; Управляющее слово таймера
out 43h, al ; в порт 43h (регистр команд таймера )
mov ax, 11930 ; в фиксатор константа пересчета ; ~100 гц
out 42h, al ; установка частоты канала 2
mov al, ah ; по байту в соответствии с управ-
out 42h, al ; ляющим словом таймера
in al, 61h ; включение динамика и разреше-
or al, 11b ; ние таймера ( канал 2 )
out 61h, al ;
Delay 100 ; задержка
and al, 11111100b ; выключение динамика и
out 61h, al ; запрет таймера
……

Макрос задержки
Delay macro t
local M1, M2
push cx
mov cx, t
M1: push cx
mov cx, 65535 ; FFFFh
M2: loop M2
pop cx
loop M1
pop cx
endm