小弟在用RVDS 调试软件中断程序时遇到困难,各位大虾一定出手相住,
我用定义软件中断 __swi(0x0) int my_swi(int,int) 希望在中断程序中调用两个变量,然后返回结果,中断程序如下:
void C_SWI_Handler(int swi_num,int *regs)
{
switch(swi_num)
{
case 0:
{
regs[0]=regs[0]+regs[1];
}
break;
}
我理解在主程序中用 i=my_swi(1,2);就应该的到想要的结果,可是现在发现,程序中断后并不返回,如果删掉regs[0]=regs[0]+regs[1]; 程序返回,i=1;
小弟很不理解,希望各位能人,给小弟解释以下,软件中断时参数到底是怎么传递的!11