比如在ob1执行
L MD0
L MD4
----------
+R
那么我们知道这个时候累加器1/2的值分别为md4和md0.
那么当其他的中断需要执行的时候,假如刚好在划线那里执行了其他ob的程序,并且修改了累加器的值。那么切换回来ob1的时候,累加器的值是如何恢复的?
这个问题,建议你看一下 “堆栈” 的工作原理。在发生中断的时候,CPU 先把寄存器内的值推入 堆栈。等到中断返回的时候,再把 堆栈中保存的值 再重新调入 各个寄存器,继续执行程序。
西门子: | G120变频器控制单元 |
G120: | 6SL3243-0BB30-1FA0 |
英国: | 净重0.610KG |
单价: | 2415.00元/台 |
发货期限: | 自买家付款之日起 天内发货 |
所在地: | 直辖市 上海 |
有效期至: | 长期有效 |
发布时间: | 2024-10-18 16:11 |
最后更新: | 2024-10-18 16:11 |
浏览次数: | 151 |
采购咨询: |
请卖家联系我
|
比如在ob1执行
L MD0
L MD4
----------
+R
那么我们知道这个时候累加器1/2的值分别为md4和md0.
那么当其他的中断需要执行的时候,假如刚好在划线那里执行了其他ob的程序,并且修改了累加器的值。那么切换回来ob1的时候,累加器的值是如何恢复的?
这个问题,建议你看一下 “堆栈” 的工作原理。在发生中断的时候,CPU 先把寄存器内的值推入 堆栈。等到中断返回的时候,再把 堆栈中保存的值 再重新调入 各个寄存器,继续执行程序。