ARM 64指令小记
Posted FarmGuo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM 64指令小记相关的知识,希望对你有一定的参考价值。
1 TEST
属于逻辑运算指令,做与操作
如果与运算结果为0那么Z标志位为1,反之为0
Test用来测试一个位,例如寄存器
test eax, 100b; b后缀意为二进制
jnz **; 如果eax右数第三个位为1,jnz将会跳转
2 CMP
属于算术运算指令,做减法,但与SUB指令不同的是
SUB指令执行过以后,原来寄存器中的被减数丢了,被换成了减法的结果,CMP指令执行过以后,被减数、减数都保持原样不变。
CMP指令影响状态寄存器CPSR,ARM64下,该寄存器为32位,高4位N、Z、C、V均为条件码标志位。
当比较结果为0时,即相等,Z位置1。
arm下的条件跳转
表达式 英文 中文
bl.eq equal 等于
bl.ne not equal 不等于
bl.gt greater than 大于
bl.ge greater equal 大于等于
bl.lt less than 小于
bl.le less equal 小于等于
x86下的跳转
je equal 等于
jne not equal 不等于
jg greater 大于
jge greater equal 大于等于
jl less 小于
jle less equal 小于等于
call 为x86的跳转指令
以上是关于ARM 64指令小记的主要内容,如果未能解决你的问题,请参考以下文章