新的数组引用可以得到一个move-result-object指令,前提是执行过filled-new-array指令。 2503 0600 1300 - filled-new-array/range {v19..v21}, [B // type@0006 新建一个byte(类型ID表#6条目)数组,长度将为3并且3个元素将填充到v19,v20,v21寄存器注4。 26 fill-array-data vx,偏移量 用vx的静态数据...
filled-new-array-range {vx..vy},type_id 生成一个新数组 type_id 和填补参数 生成新数组引用可以通过 move-result-object 指令使用 filled-new-array fill-array-data vx,array_data_offset 填充数组引用到vx throw vx 抛出一个异常对象,异常对象vx. goto target 无条件跳转. goto/16 target 无条件跳转 pa...
fill-array-data vAA,xxxx 指令用指定的数据来填充数组 arrayop vAA,vBB,vCC 指令用于对vBB寄存器指定的数组元素进行取值与赋值。vCC 寄存器用于指定数组元素的索引。vAA寄存器用于存放读取和需要设置数据组元素的值。读取元素时使用aget指令,赋值时使用aput指令。 5.数据操作 数据操作的指令位move,数据返回指令为retur...
filled-new-array(/range/jumbo) {vC,vD,vE,vF,vG} , type@BBBB指令用于构造制定类型(type@BBBB)和大小 (vA)的数组并填充内容。vA是隐含使用,除了制定数组的小,还指定参数个数。vC-vG是使用的参数寄存器序列。需要指定取值范围时,filled-new-array/range {vCCCC...vNNNN} 这种格式。 fill-array-data vAA...
SMALI语法-中文说明
fill-array-data vAA,xxxx指令用指定的数据来填充数组 arrayop vAA,vBB,vCC指令用于对vBB寄存器指定的数组元素进行取值与赋值。vCC 寄存器用于指定数组元素的索引。vAA寄存器用于存放读取和需要设置数据组元素的值。读取元素时使用aget指令,赋值时使用aput指令。
fill-array-data vAA, +BBBBBBBB // 对vBB寄存器指定的数组元素进入取值与赋值。vCC寄存器指定数组元素索引,vAA寄存器用来寄放读取的货需要设置的数组元素的值。读取元素使用aget类指令,元素赋值使用aput指令,根据数组中存储的类型指令后面紧跟不同的指令后缀,指令列表有aget aget-wide aget-object aget-boolean aget...
fill-array-data vAA, 偏移量:用指定的字面量数组数据填充到目标数组中,字面量数组数据的位址是当前指令位址加偏移量的和。该指令填充的数组类型必须为基本类型的数组和字符串数组,其中基本类型包括 boolean、byte、short、char、int、float 和 double。填充数组时,字面量数组数据的每个元素都必须与目标数组的元素...
filled-new-array/jumbo {vCCCC, … ,vNNNN},type@BBBBBBBB指令功能与上一条指令相同,只是寄存器与指令的索引取值范围更大(Android4.0中新增的指令) fill-array-data vAA, +BBBBBBBB用指定的数据来填充数组,vAA寄存器为数组引用,引用必须为基础类型的数组,在指令后面会紧跟一个数据表 ...
fill-array-data vAA,+BBBBBBBB 用指定的数据填充数组,vAA代表数组的引用(数组的第一个元素的地址) 1.4.5 运算指令 数据运算指令包含算术运算指令与逻辑运算指令以及位移指令。下面的-type表示操作的寄存器中数据的类型,可以是-int,-float,-long,-double等。 表7 运算指令 指令描述 add-type 加法指令 sub-typ...