之间有什么区别:
bl label
和
mov r14, r15
b label
除了方便之外?
(我正在使用Raspberry Pi,所以r15是当前地址+ 8,因为管道)
答案 0 :(得分:3)
它可能与您正在做的事情无关,但有一点不同:mov + b
方法与简单bl
的时间不同。目标不是PC的mov
需要1个周期。 bl
和b
都采用相同数量的周期(取决于分支预测)。
所以,使用
mov r14, r15
b label
比
长一个周期bl label
这在具有严格时序要求的嵌入式应用中非常重要。 bl label
更清晰,应该使用,如果时间问题,nop + bl
会比mov + b
更明确。
答案 1 :(得分:0)
如果使用B而不是BL,分支监视器内的分支类型将不会将其视为一个调用,这使您更难分析软件的运行情况。