Во-первых, все же следует прописать область векторов прерываний, даже если они не используются. Пример есть в даташите на контроллер.
Во-вторых, стек действительно лучше инициализировать. Можно так:
Код
ldi temp, high(RAMEND)
out SPH, temp
ldi temp, low(RAMEND)
out SPL, temp
В-третьих, если это задержка -
Код
zzz:
dec r17
sbrs r17, 0
rjmp ggg
rjmp zzz
то вылетит из нее программа моментально: 255-1=254, bit0 = 0.
Даже если переписать ее правильно, то счетчик придется изрядно расширить для получения визуального эффекта.