首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高效的OpCodes解析算法

高效的OpCodes解析算法
EN

Stack Overflow用户
提问于 2013-06-14 11:25:56
回答 1查看 926关注 0票数 0

假设我在写虚拟机。我把程序中的数据读入一个字节数组。现在,我需要遍历这些字节(指令是两个字节),并实例化一个表示每个指令及其参数的小类。

什么是快速解析方法?以下是我想到的两种方法:

  1. 通过检查从左到右的每个位来进行逻辑分支,直到我将其缩小到特定的op代码。这就像一个二进制搜索。
  2. 检查一些程序,列出按使用频率排序的操作码列表,然后按该顺序检查完整的操作码。

注意:我将使用位移位和掩蔽在C中检查,而不是正则表达式或字符串复合或任何高级别的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-14 13:39:59

你不需要解析任何东西。如果这是C语言,则创建一个函数指针表,其中包含256个条目,每个可能的字节值一个,然后根据第一个字节值跳转到相应的函数。如果第二个字节是有效的,那么可以在函数中使用一个开关语句来处理第二个字节。这就是最初的Visual解释器(版本1-6)的工作方式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17107398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档