打印

关于中断返回

[复制链接]
2283|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zds721|  楼主 | 2009-3-23 18:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在纯汇编中我们中断返回可以采用给PC赋值的方式,但我现在是在C中内嵌的汇编代码(即我的中断服务程序是C写的),要在这部分汇编代码中实现中断返回,或者直接从C代码中返回,该如何操作,请高手指点!急

相关帖子

沙发
lelee007| | 2009-3-24 01:24 | 只看该作者

从C中返回的话,就在C中内嵌汇编返回了

把中断时压栈的PC弹出来就可以了啊

使用特权

评论回复
板凳
阿南| | 2009-3-24 09:11 | 只看该作者

对,通常都是将栈里保存的地址给PC

使用特权

评论回复
地板
xwj| | 2009-3-24 09:19 | 只看该作者

除非是做OS,否则应该严格禁止这种用法

虽然实现很简单,但我不准备对你说。


因为现在告诉你是害你,而等你知道什么时候能用什么时候不能用事,你就已经自己找到方法了:-)

使用特权

评论回复
5
zds721|  楼主 | 2009-3-30 10:09 | 只看该作者

谢谢

谢谢各位~

使用特权

评论回复
6
lelee006| | 2009-4-1 13:29 | 只看该作者

老X给俺讲讲呗

嘿嘿,俺现在不知道什么时候不能用

望不吝赐教,小弟洗耳恭听!

使用特权

评论回复
7
HWM| | 2009-4-1 13:38 | 只看该作者

“中断服务程序是C写的”,还嵌个头名汇编!

老实点按部就班的玩,用相关C编译提供的中断程序用法。

使用特权

评论回复
8
linqing171| | 2009-4-2 13:05 | 只看该作者

编译器的帮助里都有。

看帮助,不同的编译器完全不一样的。
主要是因为cpu不一样。
如果是x86,只有一个返回值肯定用eax传回来,可是如果是avr呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

144

帖子

0

粉丝