我想知道是否有现成的工具可以从一段汇编代码开始构建数据依赖图?
我的目标是:从一组汇编指令(由使用 GCC/LLVM 编译的 C 代码产生)开始,构建一个依赖图,这将有助于分析每个变量如何影响最终结果。
有什么建议可以帮助我实现这一目标吗?现有的编译器能否输出类似的东西或我可以图形化转换的中间表示?
例如如果我们考虑一个简单的加法 D = (A + B)*C
,例如:
load R1, Address_of_A
load R2, Address_of_B
load R3, Address_of_C
add R4, R1, R2
mul R5, R4, R3
store R5, Address_of_D
结果可能是这样的:
A ----
(+)------
B ---- |--------
(*)----> D
C ----------------------
最佳答案
Github 上有很多工具可以做到这一点。我建议看看 miasm ,代码是用 Python 编写的,可读性极强。数据流 build 在data_flow.py .
关于c - 如何从汇编代码构建数据依赖图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58171644/