Возьмем за пример Attiny13. Для того, чтобы срабатывало прерывание по кнопке, тебе необходимо понять к какой линии нужно подключить кнопку. В данном случае выбираем линию PB1(INT0). Далее необходимо настроить регистры прерывания. Разрешаем прерывания по INT0:
ldi r17,0b01000000
out GIMSK,r17
Далее задаем, что прерывание будет срабатывать по спаду:
ldi r17,0b00000010
out MCUCR,r17
И разрешаем глобально прерывания одной командой:
sei
В начале программы необходимо указать метку на основную программу и метку на прерывание с указанием вектора, соответствующему данному прерываню:
.org 0x00
rjmp main
.org 0x01
rjmp interrupt
Программа будет начинать выполняться с метки main:, а прерывание с метки interrupt: (название меток произвольное) для выхода из прерывания используется команда reti.