Реферат: Вектор переривань та процедура обслуговування переривань
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 ; Перехід на початок нового періода