关于ARM64架构下的bl和ret指令
关于bl和ret指令的作用
自己也在摸索学习的过程中,就简单的介绍下它们两个的作用吧,其实bl指令就是会将下一条指令的地址放入lr(x30)寄存器,以及跳转到后面的地址处。
具体过程如下所示
我们去关注下lr寄存器
进入sum函数,lr寄存器的值就改变了
当要去执行ret指令
成功跳转出来
为了去验证ret指令返回的就是地址就是根据lr寄存器来的,做以下的验证,去修改lr的寄存器的值
我们可以看到它又返回到了上面我们修改lr寄存器的位置