修正一下另外一个帖子的回复,
好久不用汇编了,不记得R0R1不能PUSH操作了8051不要想着去计算堆栈大小,8051用的是软件堆栈,只要不是故意为之,堆栈足够你用只要你所有的子程序,包括中断都是以PUSH开始,POP之后返回,基本不会有问
要注意的是PUSH,POP的顺序
这样是对的
PUSH 30H PUSH 31H
..........................
POP 31H
POP 30H
这样是错误的
PUSH 30H
PUSH 31H
..........................
POP 30H
POP 31H
如果A和B,PSW还在多个地方共用,中断的时候,也是要现场保护的
|