Реферат: Вектор переривань та процедура обслуговування переривань
ret ; Вихід з процедури
ton0 endp ; Кінець універсальної процедури
ton1 endp ; Кінець процедури генерації звука 1
ton2 endp ; Кінець процедури генерації звука 2
kbin proc near ; Ввод з клавіатури з очікуванням
mov ah,0 ; Функція 0
int 16h ; клавіатурного переривання
ret ; Вихід з процедури
kbinendp ; Кінець процедури вводу з клавіатури
code ends ; Кінець сегмента (кодового)
END Start ; Вказівка на точку входа
Завдання 2. Написати програму, що видає різні звуки при натисненні на клавіші '1' і '2'. Для генерації звуку слід використовувати вихід каналу 2 таймера. Вихід з програми повинен здійснюватися по натисненню клавіші 'q'.
Assume CS: Code, DS: Code
Code SEGMENT
org 100h
frequency1 equ 1000 ; Коефіц. ділення 1
frequency2 equ 3000 ; Коефіц. ділення 2
duration equ 50000 ; Тривалість
port_b equ 61h ; Адреса системного порта В
.286
Start proc near ; Основна процедура
movax,cs
movds,ax ; DS = CS
beg1: call kbin ; Опитування клавіатури
cmp al,'1' ; = '1' ?
jnz beg2 ; ͳ
callton1 ; Звуквисоти 1
jmp beg1 ; Перехіднапочаток циклу
beg2: cmp al,'2' ; = '2' ?