飞思卡尔中断顺序
发表:2023-08-29 12:01:14 阅读:89

飞思卡尔中断顺序:当一个中断被请求,CPU在响应中断之前完成当前指令。此时,程序计数器指向下一条指令的开始。这是cPu将在中断服务之后返回的地方。CPU对于软件中断(swI)是乎兰童壁一系列同样操作然后响应中断。当中断序列开始时,用于取出矢量的地址确认为等待最高优CPU完成一个中断的序列是:

①按顺序存放PCL、PCH、X、A和CCR的内容到堆栈;

②将CCR中I位置1;

③取出中断矢量的高位字节;

④取出中断矢量的低位字节;

⑤延迟一个总线周期;

⑥取出中断矢量只想地址程序信息的3个字书,填充指令队列,准备执行中断服务子程序第一条指令。CCR中的内容压到堆栈后,CCR中的I位置1,以防止中断服务子程序执行中的其他中断。尽管可能在中断服务子程序中只用一条指令清除I位,但这会导致中断嵌套。

注意:为了兼容早起M68HC05 MCU,在一部分中断序列中,H:X索引寄存器对的高位字节(H)不存在放到堆栈中。用户必须在服务子程序中用一条PSHH指令保存H且在RTI结束中断服务器子程序之前用一条PULH指令。如果你确定中断服务子程序中没有用到任何可能改变H值的指令或者自动递增寻址模式,不是必须保存H。执行中断返回指令RTI时,CPU寄存器则按相反的顺序从栈中弹出。

 

更多精彩请您关注:

 飞思卡尔逻辑运算指令

飞思卡尔程序控制指令

飞思卡尔堆栈处理指令

freescale代理