打印

keil c中断用汇编免去LJMP

[复制链接]
3163|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mrkingxu|  楼主 | 2009-6-4 14:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在KEIL C里写中断程序,如果在中断程序里只是对某位取反或置位,keil c会在中断入口地址产生一条LJMP指令跳到取反或置位指令处,我想问一下大家,有没有办法使KEIL C直接在中断入口处执行掉这条取反或置位指令,节省中断时间。
期待大家的解答。

相关帖子

沙发
wh6ic| | 2009-6-4 15:09 | 只看该作者

写个汇编的中断服务子程序不就行了,想那么复杂干什么?

使用特权

评论回复
板凳
ayb_ice| | 2009-6-4 21:00 | 只看该作者

既然这么简单还是自己动手好些

使用特权

评论回复
地板
lws| | 2009-6-4 22:00 | 只看该作者

能这么做吗

中断入口就只能放一条语句,不用LJMP,我倒要看看你怎么RETI,难道你的时序要求这么高

使用特权

评论回复
5
computer00| | 2009-6-4 22:07 | 只看该作者

可以借用其它的不用的中断地址嘛...当然也刚好不用才行

使用特权

评论回复
6
bg6nw| | 2009-6-4 22:44 | 只看该作者

8个字节还不够写一个取反和一个RETI吗

使用特权

评论回复
7
三块石头| | 2009-6-21 01:28 | 只看该作者

用汇编写吧,可以绝对定位到中断入口地址去

而且其实用c的话也没有函数去调用~

计算一下空间:
mov  c, bit    ; 2 bytes
cpl  c         ; 1 byte
mov  bit, c    ; 2 bytes
reti           ; 1 byte

似乎还剩余2字节~~
缺点是没有push和pop

使用特权

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

本版积分规则

9

主题

13

帖子

0

粉丝