作者icetofux (豆腐)
看板ASM
标题[问题] 8051使用中断时,该把什麽放入堆叠?
时间Mon Nov 17 13:39:44 2008
今天遇到一个让我有点疑惑的问题,内容如下:
ORG 00H
JMP START
ORG 0BH
JMP TIMER_SUB
START:
(主程式)
JMP START
TIMER_SUB:
(中断副程式)
RETI
END
(1).在主程式中,会操作到A、C。
(2).而在中断副程式中会操作到R6、R7。
进入中断副程式後,如果没有把A跟PSW两个暂存器放入堆叠,就会导致主程式内容
执行错误,然而我在中断副程式中完全没动用到A、C,甚至连可能影响C的指令也没
使用,仅仅用了INC及CJNE,且主程式的部分也完全没有动用到R6、R7,请问为什麽
在这种情况下,进入中断没把A跟PSW放入堆叠会影响到主程式呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.181.135
1F:推 zstar:CJNE 会动到 C (您可以再确认看看)。是这个原因吗? 11/17 14:56
2F:→ icetofux:查了一下cjne好像是会操作到c没错,我没注意到,谢谢你。 11/17 19:33