首页 > 代码库 > 进入Android Dalvik虚拟机之Dalvik汇编语言基础

进入Android Dalvik虚拟机之Dalvik汇编语言基础

Dalvik虚拟机为自己专门设计了一套指令集,并且制定了自己的指令格式与调用规范。我们将Dalvik指令集组成的代码称为Dalvik汇编代码,将这种代码表示的语言称为Dalvik汇编语言(Dalvik汇编语言并不是正式的语言,只是描述Dalvik指令集代码的一种称呼)。

1. Dalvik指令格式

一段Dalvik汇编代码由一系列Dalvik指令组成,指令语法由指令的位描述与指令格式标识来决定。位描述约定如下:

  • 每16位的字采用空格分隔开来。

  • 每个字母表示4位,每个字母按顺序从高字节开始,排列到低字节。每4位之间可能使有竖线“|”来表示不同的内容。

  • 顺序采用A~Z的单个大写字母作为一个4位的操作码,op表示一个8位的操作码。

  • “?”来表示这字段所有位为0值。

以指令格式“A|G|op  BBBB  F|E|D|C”为例:

指令中间有两个空格,每个分开的部分大小为16位,所以这条指令由三个16位的字组成。第一个16位是“A|G|op”,高8位由A与G组成,低字节由操作码op组成。第二个16位由BBBB组成,它表示一个16位的偏移值。第三个16位分别由F,E,D,C共四个4位组成,在这里它们表示寄存器参数。

未完等续................................................................

进入Android Dalvik虚拟机之Dalvik汇编语言基础