数学算指令包括算术运算指令与逻辑运算指令。其中,算术运算指令包括加,减,乘,除,模,移位等运算,逻辑运算指令主要进行数值间与,或,非,抑或等运算。
举个例子,java 源码为
int a = 5, b = 2; a += b; a -= b; a *= b; a /= b; a %= b; a &= b; a |= b; a ^= b; a <<= b; a >>= b; a >>>= b;
其对应的 smali 为const/4 v0, 0x5
const/4 v1, 0x2
add-int/2addr v0, v1
sub-int/2addr v0, v1
mul-int/2addr v0, v1
div-int/2addr v0, v1
rem-int/2addr v0, v1
and-int/2addr v0, v1
or-int/2addr v0, v1
xor-int/2addr v0, v1
shl-int/2addr v0, v1
shr-int/2addr v0, v1
ushr-int/2addr v0, v1
没有评论:
发表评论