Opcode

操作码(hex)

Opcode name

操作码名称

Explanation

说明

Example

示例

0F

return vx

返回在vx寄存器的值。

0F00 - return v0

返回v0寄存器中的值。

10

return-wide vx

返回在vx,vx+1寄存器的double/long值。

1000 - return-wide v0

返回v0,v1寄存器中的double/long值。

11

return-object vx

返回在vx寄存器的对象引用。

1100 - return-object v0

返回v0寄存器中的对象引用。

12

const/4 vx, lit4

存入4位常量到vx。

1221 - const/4 v1, #int 2

存入int型常量2到v1。目的寄存器在第二个字节的低4位,常量2在更高的4位。

13

const/16 vx, lit16

存入16位常量到vx。

1300 0A00 - const/16 v0, #int 10

存入int型常量10到v0。

14

const vx, lit32

存入int 型常量到vx。

1400 4E61 BC00 - const v0, #12345678 // #00BC614E

存入常量12345678到v0。

15

const/high16 v0, lit16

存入16位常量到最高位寄存器,用于初始化float值。

1500 2041 - const/high16 v0, #float 10.0 // #41200000

存入float常量10.0到v0。该指令最高支持16位浮点数。

16

const-wide/16 vx, lit16

存入int常量到vx,vx+1寄存器,扩展int型常量为long常量。

1600 0A00 - const-wide/16 v0, #long 10

存入long常量10到v0,v1寄存器。

17

const-wide/32 vx, lit32

存入32位常量到vx,vx+1寄存器,扩展int型常量到long常量。

1702 4e61 bc00 - const-wide/32 v2, #long 12345678 // #00bc614e

存入long常量12345678到v2,v3寄存器。

18

const-wide vx, lit64

存入64位常量到vx,vx+1寄存器。

1802 874b 6b5d 54dc 2b00- const-wide v2, #long 12345678901234567 // #002bdc545d6b4b87

存入long常量12345678901234567到v2,v3寄存器。

19

const-wide/high16 vx, lit16

存入16位常量到最高16位的vx,vx+1寄存器,用于初始化double 值。

1900 2440 - const-wide/high16 v0, #double 10.0 // #402400000

存入double常量10.0到v0,v1。

1A

const-string vx, 字符串ID

存入字符串常量引用到vx,通过字符串ID字符串

1A08 0000 - const-string v8, "" // string@0000

存入string@0000(字符串表#0条目)的引用到v8。

1B

const-string-jumbo

未知4

1C

const-class vx, 类型ID

存入类对象常量到vx,通过类型ID类型(如Object.class)。

1C00 0100 - const-class v0, Test3 // type@0001

存入Test3.class(类型ID表#1条目)的引用到v0。

1D

monitor-enter vx

获得vx寄存器中的对象引用的监视器。

1D03 - monitor-enter v3

获得v3寄存器中的对象引用的监视器。

Smali语法汇总(二)的更多相关文章

  1. smali语法(二)

    一.smali的包中信息 .class public Lcom/aaaaa; .super Lcom/bbbbb; .source "ccccc.java" 1.它是com.aaa ...

  2. Smali语法汇总(一)

    Opcode 操作码(hex) Opcode name 操作码名称 Explanation 说明 Example 示例 00 nop 无操作 0000 - nop 01 move vx, vy 移动v ...

  3. mysql基础知识语法汇总整理(二)

    mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...

  4. PHP常见面试题汇总(二)

    PHP常见面试题汇总(二)   //第51题:统计一维数组中所有值出现的次数?返回一个数组,其元素的键名是原数组的值;键值是该值在原数组中出现的次数 $array=array(4,5,1,2,3,1, ...

  5. mysql基础知识语法汇总整理(一)

    mysql基础知识语法汇总整理(二)   连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...

  6. ORACLE| ORACLE基础语法汇总

    创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库]   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  7. Go语言语法汇总(转)

    Go语言语法汇总 分类: 技术2013-09-16 14:21 3007人阅读 评论(0) 收藏 举报 go语言golang并发语法   目录(?)[+]   最近看了看GoLang,把Go语言的语法 ...

  8. Smali语法编程

    Smali背景: Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器.其语法是一种宽松式的Jasmin/dedexer语法,而 ...

  9. Swift3.0基础语法学习<二>

    对象和类: // // ViewController2.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/15. // Copyright © ...

随机推荐

  1. 前端面试题-----js和jquery的区别是什么?

    最近我有一个朋友问我js和jquery的区别是什么,于是我打算写一篇文章说下到底有什么区别. 首先你要知道: 1.js是网页的脚本语言,记住哈,js是语言! 2.jquery是用js语言写出来的一个框 ...

  2. Android核心安全机制(一)

    Android六种核心安全机制-加密.密钥.签名与证书 对于移动开发,程序猿很容易会忘记一些安全问题,如一个MD5的加密,大部分人都知道怎么去使用,但是其中的一些加密原理,加密方式却只有少部分会去了解 ...

  3. <<精通iOS开发>>第14章例子代码小缺陷的修复

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先推荐大家看这本书,整本书逻辑非常清晰,代码如何从无到有,到 ...

  4. android之View绘制

    Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类,由此就得到了视图部分的基本结构--树形结构 View定义了绘图的基本 ...

  5. 【java集合框架源码剖析系列】java源码剖析之HashSet

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...

  6. EBS的性能调优

         metalink    Tuning performance on eBusiness suite (Doc ID 744143.1) 这篇文档描述了如何调查电子商务套件的整体性能下降. ...

  7. UNIX网络编程——僵尸进程

         在fork()/exec()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进 ...

  8. 【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)

    作者 : 万境绝尘 博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237 一. 相关工具下载 嵌入式开发工具包 : -- 下 ...

  9. TSVN客户端复制文件

    TSVN客户端复制文件 代码重构中,可能需要将一个大文件拆分成2个小文件,同时要保证拆分后的小文件继承原来的SVN历史记录. TSVN客户端只有Rename功能,没有Copy功能. 可进入Browse ...

  10. Eclipse快捷键指南

    Eclipse快捷键指南 Eclipse快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情.Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ct ...