虚拟机指令长度

时间:2014-03-08 22:41:35

标签: encoding binary hex bytecode vm-implementation

我正在创建一个虚拟机,我正在将指令编码为字节代码。这些指令是十六进制数,如下所示:0x1064,该指令意味着将值100(十六进制64)加载到寄存器0中,加载指令的编号为1.我的问题是,如果我想加载更大的我会将64更改为更大的数字3E8,例如(十六进制为1000),指令长度为5个字符,是否可以保持指令的长度相同?

1 个答案:

答案 0 :(得分:1)

当然可以保持说明长度相同。实际上,只使用一条指令就可以使用图灵完整语言!问题是你想做什么。

为了简化解码,您可能只是决定让所有指令的长度相同。它增加了代码的大小,但无论哪种方式都无关紧要。只要做你认为最好的事情。