【发布时间】:2014-02-17 11:07:46
【问题描述】:
我计划在 Go 中实现一个 VM。我看到教程中人们为他们的 VM 设计了自己的程序集类型,但虚拟机并没有直接执行程序集代码。他们为他们的虚拟机编码了每条指令,为每条指令分配一个数字,并为他们的机器形成一个特殊的字节码。 是解释字节码更好还是解释汇编代码并获得相同的结果?
【问题讨论】:
-
如果您计划只支持一个平台,例如x86,没有立即需要抽象指令。所以这取决于你想要实现什么。
-
我希望我的虚拟机能够独立运行平台。
-
它不是操作系统的虚拟机。它是用于编程语言解释器的 VM。不过感谢您的回答!
-
它应该执行指令。这就是虚拟机所做的,模拟一个人工环境。
-
当你说“或者你能解释汇编代码”时,你指的是字节码汇编中程序的文字描述吗?还是机器级汇编代码?
标签: assembly go bytecode vm-implementation