汇编指令b和bl

b指令应用示例

b mycode
mov x0, #0x5
mycode:
mov x1, #0x6

解析:汇编解析到b mycode就会跳转到mycode:

b mycode汇编底层会把mycode转换成地址0x10008e840,如果是Xcode右边会有注释 ;mycode

条件域

EQ : equal 相等
NE : not equal 不相等
GT : great than 大于
GE : great equal 大于等于
LT : less than 小于
LE : less equal 小于等于

b指令带条件

mov x0, #0x1
mov x1, #0x3
cmp x0, x1
beq mycode
mov x0, #0x5
mycode:
mov x1, #0x6

ret

b指令一般配合cmp使用, b 后面如果为空+跳转地址,则说明会无条件跳转

汇编指令bl

bl带返回的指令

// 内部\私有函数
mycode:
mov x0, #0x1
mov x1, #0x2
add x2, x0, x1
ret

// test函数的实现
_test:
bl mycode
mov x3, #0x2
mov x4, #0x1

解析bl会跳转到mycode:这个类似内部函数,然后返回,接着往下走,如果使用了b指令,则不会继续往下走