Блок на который указывает вектор прерываний.
Код:
push ix ;cохраняются на стеке значения всех регистры процессора
push iy ;либо тех, которые изменются при выполнении ПП по адресу nn
push bc
push de
push hl
push af
exx
push bc
push de
push hl
ex af,af'
push af
call nn ;адрес вызываемый каждое прерывание (собственно, переход на ПП "повешаную" на прерывания)
pop af ;восстанавливаются значения регистров процессора
pop hl ;до момента прихода прерывания
pop de
pop bc
ex af,af'
pop af
exx
pop hl
pop de
pop bc
pop iy
pop ix
jp 38 ;переход по стандартному адресу обработки прерывания im1 (команда rst 56)
Для "запуска" и "остановки" писал нечто подобное:
Код:
di ; запретить прерывания
call nn ;адрес "инициализации" мелодии
ld a,m ;число m, вектор прерываний
ld i,a
im 2 ;включение режима
ei ;разрешить прерывания
ret
----
Код:
di
call nn ; адрес "заглушающий" каналы ПГЗ
ld a,3F ;установка "стандартного" вектора прерываний для нормальной работы в tr-dos
ld i,a
im 1 ;выключение режима im2
ei
ret
[свернуть]