数组操作指令中实现了获取数组长度,新建数组,数组赋值,数组元素取值与赋值等操作。
我们可以定义数组如下
int[] arr = new int[10];
其对应的 smali 如下
const/4 v1, 0xa
new-array v0, v1, I
如果我们直接在定义时,对数组进行初始化,如下
int[] arr = {1, 2, 3, 4, 5};
对应的 smali 如下
const/4 v1, 0x1
const/4 v2, 0x2
const/4 v3, 0x3
const/4 v4, 0x4
const/4 v5, 0x5
filled-new-array {v1, v2, v3, v4, v5}, I
move-result v0
在寄存器连续的情况下,还可以写成如下代码
const/4 v1, 0x1
const/4 v2, 0x2
const/4 v3, 0x3
const/4 v4, 0x4
const/4 v5, 0x5
filled-new-array-range {v1..v5}, I
move-result v0
没有评论:
发表评论