В разделе
Обучалка > Микроконтроллеры и ПЛИС > Микроконтроллеры AVR... > Создание функций в Ассемблере. Бегущий огонек v1.1 
есть часть программы, в которой, по моему мнению, допущена ошибочка, а именно:
Код:
ldi Temp,RamEnd ;загрузить в Темп адрес последней ячейки ОЗУ
out SPL,Temp ;вывести в SPL значение из Temp
В однобайтный регист Temp записывают двухбайтный адрес памяти RamEnd.
Затем производится непосредственно инициализацию стека, по средствам записи адреса ячейки памяти в указатель стека SPL.
А какже, тогда насчет старшего байта указателя стека SPR?
Инициализовать стек пододным образом мне не удалось. Немного подумав и покопав описание нашел следующее решение:
Код:
\\prog1.asm
----------
.include "m8515def.inc"
.def Temp=R16
\\..........................
RESET:
; RemEnd = 0x025F (из подключаемого файла)
ldi Temp,0x5F ; инициализация стека
out SPL,Temp
ldi Temp,0x02
out SPH,Temp
\\..........................