А что не нравится? Практически идентичные обработчики, разница в одной команде, отсутствие которой обеспечивается применением аттрибута signal, а не interrupt (в макросе ISR есть и другие аттрибуты, в зависимости от версии компилятора, лучше пользоваться макросом)