Если в вашем приложении включена приоритетная система прерывания, то при составлении программы необходимо придерживаться определенных рекомендаций. Как мы помним у прерывания с высоким приоритетом вектор сброса 08h в памяти программ, а с низким 18h, т.е. для написания кода в высоком приоритете не так и много места, по сути всего несколько команд. По этому лучше по вектору 08h прописывать только команду перехода на ПП обработки прерывания с высоким приоритетом.
К примеру, так:
;---------------------------------------- ; H вектор прерывания, от TMR0 ; формируется видеосигнал (синхроимпульсы) ;---------------------------------------- org 08h ; H вектор прерывания bra Obrab_H ; переходим на обработку прерывания ;---------------------------------------- ;L вектор прерывания ;---------------------------------------- org 18h ; L вектор прерывания btfsc INTCON3,0 ; INT1? goto Vyvod ; переходим на обработку прерывания INT1. btfsc ХХХХХХ ; ? goto ХХХХХХ ; переходим на обработку прерывания ;---------------------------------------- ; обработка H-прерывания. ;---------------------------------------- Obrab_H ХХХХХХХ ;
К прерыванию с низким приоритетом это не относится, т.к. далее нет векторов сброса. Не стоит забывать, что прерывания по изменению уровня по входу INT0 имеет всегда высокий приоритет.