使用操作系统的中断处理程序将数据传递给 CPU。
通常,要添加不带参数的静态函数,您将它的地址传递给操作系统操作,例如
InstallIntHdlr(依赖于操作系统)。静态函数可以是特殊的单实例对象或者在包中定义的函数。此操作必须使用特定于编译器的实用程序才能到达寄存器。最后,它必须返回并从中断指令中执行返回。
关于此任务
您可以通过下列方法将数据从中断处理程序传递到 CPU(假定中断处理程序需要进行此传递):
- 使用 GEN() 宏来生成事件,接着,此事件通过操作系统到达另一线程中的反应对象。
- 将集合对象与读/写切换锁定配合使用。中断处理程序将检查该锁定是否处于写状态,然后更新数据并将该锁定置于读状态。另一线程中的读取者定期检查该锁定,并且只在它处于读状态时才进行读取。如果它处于该状态,那么读取者将读取数据并将该锁定更新为写状态。此更新可以方便地扩展到队列结构。
- 在 IBM® Rational® Rhapsody® 外部手动编写中断处理程序并将其发送到目标线程的操作系统消息队列。通常,如果操作系统不直接支持中断处理程序,那么您将当前句柄存储在函数中,并将该函数的地址写入中断向量表的适当位置。中断关闭时,新函数将替换旧中断处理程序(这意味着,它在完成时直接返回)或者链接到旧中断处理程序(调用原始中断处理程序)。在任何事件中,当中断处理程序退出运行时,您将向量表中的向量替换为原始地址。