Не могу понять почему криво работает:
Код
.include "m128def.inc"
.def tmp1 = r16
.cseg
.org 0
rjmp start
start:
ldi tmp1,low(ramend)
out spl, tmp1
ldi tmp1, high(ramend)
out sph, tmp1
ldi tmp1,$ff
out ddrb,tmp1
clr tmp1
out portb,tmp1
sbi portb,pb6; LED on
rcall get_info;fnc.inc
cbi portb, pb6; LED off
loop_:
rjmp loop_
ret
.include "fnc.inc"
а вот код в fnc.inc
Код
get_info:
push r18
pop r18
ret
Проблема в том, что при попытки выхода из get_info, мега резетится и возвращается на начало, а если убрать пуш/поп то все нормально. В чем может быть причина?
з.ы. в протеусе работает нормально, а в мк нет