作者 | 主题 |
---|---|
冬日 奇侠 ![]() ![]() 经验值:8634 发帖数:3443 精华帖:56 |
楼主
![]() 主题:不通的ob之间切换,累加器的值是如何保存的疑问 比如在ob1执行 L MD0 L MD4 ---------- +R 那么我们知道这个时候累加器1/2的值分别为md4和md0. 那么当其他的中断需要执行的时候,假如刚好在划线那里执行了其他ob的程序,并且修改了累加器的值。那么切换回来ob1的时候,累加器的值是如何恢复的?
If anything can go wrong, it will.
|
lu_zhao_long 侠圣 ![]() 经验值:2869 发帖数:298 精华帖:9 |
3楼
![]() ![]() 这个问题,建议你看一下 “堆栈” 的工作原理。在发生中断的时候,CPU 先把寄存器内的值推入 堆栈。等到中断返回的时候,再把 堆栈中保存的值 再重新调入 各个寄存器,继续执行程序。
深陷于此,我是来“喝水”的! lu_zhao_long@139.com
|