Предыдущий <<  SPL $3D ($5D), SPH  $3E ($5E)   >>Следующий

Два регистра - SPL и SPH - образуют 10-ти битный указатель стека. 

Вообще-то я почти уверен, что понятие "стек" читающего эти строки не пугает. Добавлю только, что стек у AVR растет вниз, указатель декрементируется ПОСЛЕ выполнения команды PUSH. То есть инициализировать указатель стека надо занесением туда адреса последней ячейки SRAM.

ldi R16, lo(RAMEND)
out SPL,R16
ldi R16, hi(RAMEND)
out SPH, R16

Константа RAMEND обычно определена в .inc файле соответствующего процессора. Надо еще отметить, что в некоторых МК, размер SRAM которых менее 256 байт, указатель стека не имеет старшего байта.


nml 11-Jul-2009