这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 中断程序结束后返回到程序的其它地方,这是什么错误

共2条 1/1 1 跳转至

中断程序结束后返回到程序的其它地方,这是什么错误

院士
2006-09-17 18:14:16     打赏
中断程序结束后返回到程序的其它地方,这是什么错误



关键词: 中断     程序     结束     回到     其它     地方     是什么     错误    

院士
2006-12-22 22:43:00     打赏
2楼
问 请问高手,如何解决? 1: 也许是堆栈内容被修改了,导致返回地址被修改。 2: 怎么会这样呢,我的程序中只有mov sp,5FH和push acc, push pws, pop pws,pop acc, 没有其它和堆栈有关的操作啊。百思不得其解。 3: 请高手帮我看看我这个程序中堆栈对不对main: mov sp,#30h,
.
.
t0 中断服务程序
T0_ISR:    PUSH    PSW
    PUSH    ACC
    CLR    C
    INC    R0
    JNC    INTEND
    CLR    C
    INC    R1
    JNC    INTEND
    CLR    C
    INC    R2
    POP    ACC
    POP    PSW
INTEND:    RETI
。。。

我的问题是中断执行完后,回到了非断点出。我还观察到这样一个现象,当中断程序执行pop Acc 和pop PSW 两句时,SP的值没有减小,反而增加,这是怎么回事?谢谢各位 4: 不太可能吧?还有这么神奇的事情?你再仔细检查检查吧…… 5: 哦,找出问题所在了:原来根本没执行pop 语句INTEND 标号往前移两句就好了。谢谢圈圈。祝你新年快乐,狗年好运 6: 谢谢你的祝福~~~~~~~~呵呵……原来是你自己跳过去了……

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]