阅码场第5期:ARM架构与调试调优
Thumb2指令的分支结构
csel这样的指令需要32位的长度才放得下.
Thumb2本着能省则省的原则,改用16位的条件mov指令来实现,可以节省2个字节指令空间
Thumb指令的分支结构
Thumb指令没有带条件的mov操作,更不可能有csel这样复杂的指令了。
那也没问题,返璞归真,我们直接跳转就是了呗〜
bge.n,是说大于或等于,也就是不小于的时候直接跳到12aa,就是bx lr返回这条指令上去。
adds r0, r1, #0其实也可以翻译成movs r0,r1。前面我们讲过,movs r0,r1其实是adds r0, r1, #0的别名。本质上是一回事。