npn 发表于 2021-9-27 12:23 站在C语言的角度来讲, PUSH 和 POP 是可以操作变量的,只要这个变量存在于直接地址中。 PUSH 是把直接地址 推入到 SP+1后 所指向的间接地址。 POP 是把SP指向的间接地址的内容, 取出到直接地址后 SP -1。 |
_push_() 与 _pop_() 函数,位于头文件 intrins.h 内。 编译后转换成PUSH POP汇编指令。 只能操作寄存器 且不能是变量、立即数。 |
Y_G_G 发表于 2021-9-26 17:08 ![]() |
堆栈在8051的C语言中不需要学,8051用的是软件堆栈,原理你要知道 一堆其它的单片机用的是硬件堆栈,这个就要了解了,特别是那种只有4层的低端单片机,很容易就溢出了,一溢出了,程序就跑飞了 |
188610329 发表于 2021-9-26 16:21 明白了 谢谢 |
出入栈的,其实可以不写,进出中断,C语言编程的话本来就自动出入栈的。 |
就是入栈和出栈。 |