asm code
.org 0x006 ;interrupção do timer1
push r16 ;salva r16 e sreg
in r16,sreg
push r16
lds r16,0x0060 ;aqui, incrementa uma variável, usando o r16
inc r16
sts 0x0060,r16
pop r16 ;recupera r16 e sreg salvos
out sreg,r16
pop r16
reti ;retorna da interrupção
Neste caso, eu preciso salvar o r16 e o sreg, incrementar a variável e, depois, recuperar r16 e sreg.
Gostaria de saber se alguém sabe uma outra forma de fazer isso, ou até mesmo se está faltando salvar algum outro registrador.