看板 ASM 關於我們 聯絡資訊
今天遇到一個讓我有點疑惑的問題,內容如下: 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
zstar:CJNE 會動到 C (您可以再確認看看)。是這個原因嗎? 11/17 14:56
icetofux:查了一下cjne好像是會操作到c沒錯,我沒注意到,謝謝你。 11/17 19:33