因为相信, 所以看见
首发安全客 链接:https://www.anquanke.com/post/id/246020
文章太长 所以分7个部分发出来。
这一篇是第3个部分,面试的时候问这个的还挺多的。
这里对这几条指令,有个简单记忆的方法。
那就是对几条指令中的字母单独记忆,然后遇到字母的组合,就把字母代表的含义加起来就可了。
单独记忆法:
字母 B: 直接跳转 类似jmp
字母 L: 把下一条指令地址存入LR寄存器
字母 X: arm 和 thumb指令的切换
注意:这样去记 是为了快速记住上面几条指令的含义
而不是单字母本身在汇编里面有这些含义
B这里跟x86汇编的 jmp比较像,可以理解成无条件跳转。
BL
这里理解成 字母B + 字母L。
作用是: 把下一条指令地址存入LR寄存器 ,然后跳转。
像x86汇编里面的 call
只不过 call 指令把下一条指令的地址压入栈
BL是把下一条指令的地址放到 LR寄存器
BX
这里理解成 字母B + 字母X
这里表示跳转到一个地址
同时切换指令模式。
当前如果是 arm 就会切换成 thumb。
如果是 thumb 就会切换成 arm。
BLX
BLX 这里是 字母B + 字母L + 字母X 。
表示跳转到一个新的地址
跳转的时候把下一条指令地址存入LR寄存器
同时切换指令模式
arm转thumb thumb转arm
可以这样去理解:blx = call + 切换指令模式
昨天想着解决IOT设备的一个问题,然后顺势跟领导提调薪。但是左右横跳半天也没有解决这个IOT设备的问题。
没有解决也不要紧,照样跟领导提了调薪。
领导说他是站在我这边的,不过要向上级申请之类的。
我开口让领导涨5000工资。心理价位是涨4000,想着先喊高一点,到时候,再讨价还价涨4000成交。
害,刚好房子也快到期了,现在想着,等涨完工资,跟房东聊聊。
就说公司效益不好,降薪了,让房东可怜可怜我,降几百块房租,好让我维持生活。
不知道房东答不答应,哈哈哈哈。
关于作者:
一个乙方安全公司搬砖的菜鸡,移动安全从业者。最近忙着找女票,忙着在b站当扑街up主。
b站/公众号 : 移动安全王铁头
希望和大佬们一起学习,一起成长
点个
在看
你最好看
本文始发于微信公众号(移动安全王铁头):安卓逆向面试题汇总 技术篇(3) arm汇编 B、BL、BX、BLX区别和指令含义
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论