首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

中断返回怎么指向非默认的位置[求助]

中断返回怎么指向非默认的位置[求助]

interrupt 2 void Timer(void) {
T1SC;                     
T1SC=0x70;                  
/*中断其他处理*/}
默认的返回位置因该是发生中断的位置,现在我想指定另外一个返回位置代替默认发生中断的地址,应怎么写呢?
请大家帮帮忙,
因为我的程序流程是遇到中断说明数据接收超时,丢弃剩下数据,跳转到刚开始接收数据帧的位置重新接收。怎么实现呀?
我做了这样的调整,大家看看是否可以
interrupt 2 void Timer(void) {
T1SC;                      //这里用到的封装只有定时器1
T1SC=0x70;                 //停止计数,复位,中断使能
asm{pula                   //丢弃堆栈中的内容ccr
     pula                                                                          //a
     pula                   //x
     pula                   //pch
     pula                   //pcl
     ldhx #$0027
     txs
     rts
     }
}
这里的$e1ff是我希望的绝对地址,通过反汇编得到。
返回列表