野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9599|回复: 4

请问stm32f4的中断向量表中为什么没有像B, BL之类的跳转指令???

[复制链接]
发表于 2016-10-6 15:58:48 | 显示全部楼层 |阅读模式
请问stm32f4的中断向量表中为什么没有像B, BL之类的跳转指令???
回复

使用道具 举报

发表于 2016-10-6 16:20:20 | 显示全部楼层
向量表只是一个表,后面有很多 跳转指令B 的  ,到启动文件里拉到下面看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-6 16:42:06 | 显示全部楼层
中断向量表占据的程序地址是0x00000000到0x00000358 ,中断后pc 被强制指向其中某一个。  我的问题是  :“pc如何从那个地址离开 ?”
回复 支持 反对

使用道具 举报

发表于 2016-10-6 17:35:58 | 显示全部楼层
huxiaoyu 发表于 2016-10-6 16:42
中断向量表占据的程序地址是0x00000000到0x00000358 ,中断后pc 被强制指向其中某一个。  我的问题是  :“ ...

中断向量表里面存的是各个中断的中断服务函数的地址,当中断来临的时候,内核会根据中断号计算出中断在中断向量表的位置,然后去到这个表里面取出这个中断的中断服务函数的地址,然后跳转去执行中断服务函数,中断服务函数是C语言写的一个子函数,当中断服务程序执行完毕之后,内核就回到原来程序被中断的地方继续执行。既然是C语言,你怎么可能看得到 B  BL 这类的汇编指令。
回复 支持 反对

使用道具 举报

发表于 2016-10-6 17:40:13 | 显示全部楼层
1.jpg

每个C函数在转换成汇编的时候都会有BL跳转指令。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-10 03:16 , Processed in 0.033635 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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