Smali数学运算指令

 数学算指令包括算术运算指令与逻辑运算指令。其中,算术运算指令包括加,减,乘,除,模,移位等运算,逻辑运算指令主要进行数值间与,或,非,抑或等运算。

举个例子,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

发表评论