Lua解释器构建:从虚拟机到编译器
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.3 虚拟机指令集

本节将对虚拟机指令集进行介绍。虚拟机指令集如表1-1所示。

表1-1分5列。第1列是C层定义的,指令的枚举值,也就是指令名称。第2列是每个指令对应的指令编码,实际上就是指令中opcode的值。第3列表明该指令使用了哪些参数域。第4列为该指令的编码方式。第5列是通过符号的方式对指令进行说明。

表1-1

(续)

本书实现的Lua解释器的指令与表1-1基本一致,但是指令的编码值和官方的略有不同(指令的枚举定义没有和官方完全一致)并且只有43个指令,实现的指令均是表1-1中出现的指令。虽然编码的值和官方并不是完全一致,但这并不影响读者动手开发Lua解释器以及理解官方Lua解释器的设计。