微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 跳转指令之:跳转指令B及带连接的跳转指令BL

跳转指令之:跳转指令B及带连接的跳转指令BL

时间:09-13 来源:互联网 点击:

没有这种延时跳转机制。

5.指令举例

(1)程序跳转到LABLE标号处。

BLABLE;

ADDr1,r2,#4

ADDr3,r2,#8

SUBr3,r3,r1

LABLE

SUBr1,r2,#8

(2)跳转到绝对地址0x1234处。

B0x1234

(3)跳转到子程序func处执行,同时将当前PC值保存到LR中。

BLfunc

(4)条件跳转:当CPSR寄存器中的C条件标志位为1时,程序跳转到标号LABLE处执行。

BCCLABLE

(5)通过跳转指令建立一个无限循环。

LOOP

ADDr1,r2,#4

ADDr3,r2,#8

SUBr3,r3,r1

BLOOP

(6)通过使用跳转使程序体循环10次。

MOVr0,#10

LOOP

SUBSr0,#1

BNELOOP

(7)条件子程序调用示例。

……

CMPr0,#5;如果r05

BLLTSUB1;则调用

BLGESUB2;否则调用SUB2

注意

只有SUB1不改变条件码,本例才能正确执行,因为如果BLLT执行了转移,将返回到BLGE指令。如果条件码被SUB1子程序改变,则SUB2可能又会被执行,从而达不到指令的预期效果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top