您的当前位置:首页正文

arm学习之汇编跳转指令总结

来源:华佗小知识
arm学习之汇编跳转指令总结

⽬前所知道的跳转指令有 b,bl,bep,bne.

他们共同点是都是以b开头,⾸先从字⾯上分析:b:是Branch,表⽰分⽀。

bl:是Branch Link表⽰带连接的分⽀。bep:Branch ,Equal

bne:Branch ,Not Equal。

B或BL指令引起处理器转移到\"⼦程序名\"处开始执⾏。两者的不同

之处在于BL指令在转移到⼦程序执⾏之前󰀀将其下⼀条指令的地址拷贝到R14(LR,链接寄存器)。由于BL指令保存了下条指令的地址󰀀因此使⽤指令

\"MOV PC,LR\"即可实现⼦程序的返回。⽽B指令则⽆法实现⼦程序的返回󰀀只能实现单纯的跳转。⽤户在编程的时候󰀀可根据具体应⽤选⽤合适的⼦程序调⽤语句。bep和 bne这是条件跳转,经常和cmp⽐较命令⼀起使⽤1: ;A

cmp r0, #0

beq 1f ; r0==0那么向前跳转到B处执⾏bne 1b ; 否则向后跳转到A处执⾏1: ;B

1b,1f⾥的b和f表⽰backward和forward,1表⽰局部标签1

因篇幅问题不能全部显示,请点此查看更多更全内容