中断问题:
中断不知道何时回来,中断来时,r9的值可能处于不同的变量域,如果A程序中注册了中断号48,这个时候A程序调用了B程序的代码,那么变量域将切换到B程序,这时如果中断48号来临,那么将会出现变量域为B程序, 但是中断函数中缺要使用A程序变量域中的变量,必然导致死机。
该问题解决办法比较麻烦,可以采用在注册中断函数时,在中间插入中断跳转函数,类似于函数重定向,中断来临时先执行中断跳转函数,然后在跳转到用户注册的跳转函数,在中断跳转函数中保存当前r9寄存器的值,执行完用户调用的函数后,再恢复r9寄存器中的值。