跳转指令之:跳转指令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可能又会被执行,从而达不到指令的预期效果。 |
跳转指令 B 带连接的跳转指令 微处理器 BL ARM 相关文章:
- Thumb指令集之: Thumb跳转指令(08-30)
- ARM汇编中B跳转指令和LDR跳转的区别(11-20)
- 跳转指令之:带状态切换的连接跳转指令BLX(1)(09-13)
- 跳转指令之:带状态切换的跳转指令BX(09-13)
- 跳转指令之:带状态切换的连接跳转指令BLX(2)(09-13)
- openwebmailV1.60安装教学(11-12)