找回密码
 立即注册
查看: 350|回复: 3

如何将汇编中断处理函数直接放在中断向量区?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-07 15:52:27

3

主题

2

回帖

31

积分

新手上路

积分
31
发表于 2024-9-25 22:07:46 来自手机 | 显示全部楼层 |阅读模式
之前调试的时候,偶然发现,keil在编译时,可以将非常短的函数实现,放置到未使用的中断向量区,用于节约空间。
那么,对于某些高速场景,非常短的中断处理函数,可以直接写到中断向量区,节约一条jmp的时间。还可以手动控制pop/push
当然,主体代码还是用C写的。
这边想咨询下,如何将汇编中断处理函数直接放在中断向量区?目前我这边是在keil编译完成后,手动把机器码写到hex里实现的,非常麻烦。
用keil或者sdcc都行。。。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-9-25 22:54:57 | 显示全部楼层
这个“短”是相对的,如果有相邻的两个中断,那很容易受到影响。非要这样做也简单,直接混编或者直接建个汇编文件,里面用ORG定义到中断向量地址即可。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-03-07 15:52:27

3

主题

2

回帖

31

积分

新手上路

积分
31
发表于 2024-9-27 08:40:05 | 显示全部楼层
晓*** 发表于 2024-9-25 22:54
这个“短”是相对的,如果有相邻的两个中断,那很容易受到影响。非要这样做也简单,直接混编或者直接建个汇 ...

试过使用汇编文件了,keil会报错提示与中断向量区重叠了。
回复 支持 反对

使用道具 举报 送花

0

主题

5

回帖

16

积分

新手上路

积分
16
发表于 2024-10-1 09:16:16 来自手机 | 显示全部楼层
c51不是也可以绝对定位代码段吗?
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 03:11 , Processed in 0.855669 second(s), 70 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表