![Lua解释器构建:从虚拟机到编译器](https://wfqqreader-1252317822.image.myqcloud.com/cover/683/47133683/b_47133683.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.3 虚拟机指令集
本节将对虚拟机指令集进行介绍。虚拟机指令集如表1-1所示。
表1-1分5列。第1列是C层定义的,指令的枚举值,也就是指令名称。第2列是每个指令对应的指令编码,实际上就是指令中opcode的值。第3列表明该指令使用了哪些参数域。第4列为该指令的编码方式。第5列是通过符号的方式对指令进行说明。
表1-1
![](https://epubservercos.yuewen.com/928179/26479817901927606/epubprivate/OEBPS/Images/22_01.jpg?sign=1739272990-14c4biVm8ALFXO94c2khMCCjpq7MbBTo-0-68fca70636a49e66708e169e89d6ba5c)
(续)
![](https://epubservercos.yuewen.com/928179/26479817901927606/epubprivate/OEBPS/Images/23_01.jpg?sign=1739272990-bgHVZUjGlot4Yhyh7UeUb8EcXjMmxFWJ-0-c740e4024a6a1f95b552ca6e25b15b7e)
本书实现的Lua解释器的指令与表1-1基本一致,但是指令的编码值和官方的略有不同(指令的枚举定义没有和官方完全一致)并且只有43个指令,实现的指令均是表1-1中出现的指令。虽然编码的值和官方并不是完全一致,但这并不影响读者动手开发Lua解释器以及理解官方Lua解释器的设计。