AVR汇编子程序调用必须设堆栈吗?
我用AVR STUDIO写了一个简单的延时子程序:...
rcall delay
...
delay:
ldi r16,255
del1:dec r16
brne del1
ret
但是程序执行到rcall delay就不往下执行了,是什么问题呢? 问题已经解决,主程序中应该加下面的语句:
ldi r16, low(ramend)
out spl, r16
ldi r16, high(ramend)
out sph, r16
子程序中使用堆栈就可以正常调用子程序了。 有的用,收藏{:sad:} 堆栈必须设置,,调用汇编子程序一样要入站操作的,,,要不它怎么知道调用结束后回到哪里?
页:
[1]