请问高手们汇编中跳转指令执行后,会不会回到它的下一条指令执行?

.globl_start_start:bresetldrpc,_undefined_instructionldrpc,_software_interruptldrpc,_... .globl _start
_start: b reset
ldr pc, _undefined_instruction
ldr pc, _software_interrupt
ldr pc, _prefetch_abort
ldr pc, _data_abort
ldr pc, _not_used
ldr pc, _irq
ldr pc, _fiq
这是UBOOT中的一段代码,一开始就跳到了reset,去执行了,那这样的话不是ldr pc, _undefined_instruction这条指令永远不会被执行了????还是说是像C中的函数调用一样,reset执行后会回去再执行ldr pc, _undefined_instruction???请大虾们解答下。。。。
展开
 我来答
矮油嫑酱紫唉
推荐于2017-11-25 · TA获得超过336个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:225万
展开全部
b是branch之意,b有几种形式
bl:带link的b,意即会将bl的下一条指令地址送入lr寄存器,以便返回
bx:带状态转换(arm->thumb,thumb->arm)的跳转
blx:上面两者结合
单单b就是jump,直接跳转,不返回

你这段代码那个b reset既是程序开始,也是vector 0的处理函数,arm上常常这么使用,后面的(包括第一条)是中断向量表,arm上
0中断:复位
1:未定义指令
2:软件中断
3:预取指令中止
4:数据访问中止
5:保留
6:irq
7:fiq

请参考arm手册
追问
这外我明白,只是说这样一个例子。那也就是说如果是b的话那就是跳到哪就从哪里开始执行后面的代码了,那就不管调用它的那个地方的后面的代码了,是这个意思吗?
追答
对的,就是这样
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式