登录 注册
当前位置:主页 > 资源下载 > 49 > 从0到1的抖音运营变现手册大全-详解指令结构

从0到1的抖音运营变现手册大全-详解指令结构

  • 更新:2024-05-14 18:31:08
  • 大小:2.13MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:游戏开发 - 课程资源
  • 格式:PDF

资源介绍

7.1 指令结构 界畵畡 中的每条指令都由一个 申甲 位无符号整数表示,指令种类和操作对象都被编码进这个数字。界畵畡 为 它定义了一个专门的类型叫做 畉畮畳畴畲畵畣畴畩畯畮。 由 /* 甲 ** type for virtual -machine instructions 申 ** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h) 甴 */ 电 typedef lu_int32 Instruction; 表示指令种类的部分叫做 畯異畣畯畤略 ,由于操作种类只有 甴田 种,所以仅需要 甶 位编码,目前尚留有很大的 扩展空间。 每条指令,大都是对一个对象作出影响。这个受影响的对象被称为 畁。它由一个 甸 位整数编码进指令 中。畁 通常是一个寄存器的索引值;也可能是对 畵異當畡畬畵略 的操作。而作用到 畁 的参数一般有两个,每个参数 就由 甹 位表示,分别称为 畂 和 畃。 下表可以看到指令按位域的布局。 有部分指令不需要两个操作参数,这时,可以把 畂 和 畃 合并为一个 由甸 位的整数 畂畸 看待,适应更大的 范围。 当操作符涉及指令跳转时,例如 畏畐 畊畍畐,这个参数表示跳转偏移量。向前跳转需要设定偏移量为一个 负数。这类指令需要参数带有符号信息,此时记作 畳畂畸。界畵畡 采用和浮点数的指数表示方式相同的移码来表 示有符号的数字。例如,田 被表示为 甲17,而 甭由 被表示为 甲17 − 由。 1大部分虚拟机都被实现为堆栈式的,例如传统的 Java 虚拟机、.Net 虚拟机、Python 虚拟机等等。从历史上看,Lua 5 是第一个被广泛使用的 寄存器式虚拟机;之后诞生的 Perl 6 以及 Google 为 Andriod 实现的 Delvik 虚拟机也采用了基于寄存器的设计。相比于堆栈式设计,基于寄存器 的虚拟机可以用更少的指令数量来表达要进行的操作,但由于需要讲寄存器号编码进指令,所以单条指令的长度也需要更长。不过 Lua 的虚拟机指令 设计的非常巧妙,用等长的 32 位数字就可以表示绝大部分指令。 2Lua 虚拟机指令数量一度在 3.1 版达到了 128 条,到 5.0 发布时,重新设计过的 Lua 虚拟机指令数仅需要 35 条了[4]。到 Lua 5.2.1 为止,虚 拟机一共有 40 条指令。 男男