Реферат: Вектор переривань та процедура обслуговування переривань

call ton2 ; Звуквисоти 2

jmp beg1 ; Перехід на початок циклу

beg3: cmp al,'q' ; = 'q' ?

jnz beg1 ; ͳ

int 20h ; Вихідзпрограми

startendp ; Кінець основної процедури

ton2 procnear ; Процедура генерації звука 2

movdx,duration ; Тривалість

movdi,frequency2 ; Коефіцієнт ділення 2

jmp ton0 ; Перехід на універсальну процедуру

ton1 proc near ; Процедура генерації звука 1

mov dx,duration ; Тривалість

mov di,frequency1 ; Коефіцієнт ділення 2

; Універсальна процедура генерації звука

; DX - тривалість, DI - коефіц. ділення

ton0 proc near

cli ; Заборона переривань

; Включення динаміка і таймера

in al,61h ; Читання стану системного порта В

or al,3 ; Дозвіл звучання (біти 0 и 1)

out 61h,al ; Запис в системний порт В

; Програмування поділювача частоти 2 канала

mov ax,di ; Поділювач частоти

out 42h,al ; Мол.байт частоти  канал 2 таймера

xchgal,ah ; AH  AL

out 42h,al ; Ст.байт частоти  канал 2 таймера

; Формування затримки

mov cx,dx ; Лічильник циклу затримки

ton01: push cx ; Команди, що використовуються тільки для

К-во Просмотров: 723
Бесплатно скачать Реферат: Вектор переривань та процедура обслуговування переривань