【发布时间】:2014-04-23 00:56:30
【问题描述】:
我正在用 C 语言制作一个虚拟机,有人告诉我,通过将“汇编”代码转换为十六进制或二进制,我可以加快执行速度。我的问题是,如果我有一个字符串并将其编码为数字,那么当它在 VM 中添加和额外的执行步骤时,它怎么能比不编码它更快?
--编辑-- VM 程序集的一个示例是:
push 10 # Push the value 10 to the top of the stack
print # Print the value at the top of the stack
编码指令如下所示:
010a 0c
但我没有得到的部分是如何将程序集编码成指令比不这样做更快,因为你必须再次解码它们。如果我错了,请告诉我。
【问题讨论】:
-
您指的是哪种虚拟机?咖啡?爆米花?
-
请详细说明,也许可以举一个小例子来说明你所说的汇编、十六进制、二进制和字符串的含义
-
@dwelch 我编辑了问题。
-
@alk 我正在使用自定义虚拟机。
标签: c assembly unicode encoding vm-implementation