返回介绍

9.4 反汇编器

发布于 2025-03-09 23:09:34 字数 418 浏览 0 评论 0 收藏 0

dcc 实现一个内建的反汇编器,它产生汇编程序文件。汇编文件只包含关于该程序的汇编语言助记符 (也就是代码段) 而不显示与数据有关的任何信息。反汇编器使用的所有信息是由语法分析器和反编译器的中间代码阶段收集的;因为基本上从低级 Icodes 到汇编助记符存在一个 1:1 映射,所以汇编代码生成器主要在于输出格式化。

反汇编器一次处理一个子程序;给予一个调用图,该图被以一个深度优先搜索遍历,首先为被嵌套的子程序生成汇编程序。对于生成汇编程序文件,使用者有两个选择项:一是在语法分析阶段之后直接生成汇编程序,一是在图的最优化之后生成汇编程序。前者产生的汇编程序跟二进制映像尽可能地接近;后者可能丢失某些被图的最优化器认为多余的跳转指令。反编译器在产生目标 C 语言代码的时候也使用反汇编器;如果一个子程序被标志为一个非高级子程序的,那么在生成该子程序的 C 语言头文件和注解以后只为该子程序生成汇编代码。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文