下面是我在网上找到的对SWI的解释
软中断:
编程异常通常叫做软中断
软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式。
中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能
软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。
1.软中断发生的时间是由程序控制的,而硬中断发生的时间是随机的
2.软中断是由程序调用发生的,而硬中断是由外设引发的
3.硬件中断处理程序要确保它能快速地完成它的任务,这样程序执行时才不会等待较长时间
我自己的问题:
1: 软件中断子程序只有一个? 用__SWI 作为标示符?
2:“程序运行时其他程序对它的中断”,“软中断发生的时间是由程序控制的”,那么它 和程序直接的普通程序调用有什么区别?
另外一本书”程序分析与设计“中说到,软件中断处理的流程有2步:
一:取得24位的中断号码(书上说是确定SWI中断的目的,通过) 二:实现具体的SWI中断
我自己的问题:
3:中断号码 和那里有一个对应关系吗? 不然是如何确定SWI中断的目的?
以上3个问题希望高手回答一下, thank you!~!· |