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
因篇幅问题不能全部显示,请点此查看更多更全内容