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

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

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

jnz beg1 ; ͳ

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

startendp

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

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

mov di,frequency2 ; Затримка 2

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

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

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

mov di,frequency1 ; Затримка 1

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

; DX - кількість циклів, DI - затримка

ton0 proc near

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

in al,port_b ; Читанння стану системн. порту В

and al,11111110b ; Відкл. динаміка від таймера

ton01: or al,00000010b ; Включення динаміка

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

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

loop $ ; Затримка

; Вимкнення звука

and al,11111101b ; Вимкнення динаміка

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

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

loop $ ; Затримка

dec dx ; Декремент лічильника кількість циклів

jnz ton01 ; Перехід на початок нового періода

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