我如何将ASM转换为PHP?

时间:2010-07-31 09:56:21

标签: php assembly reverse-engineering matrix-multiplication

有一个程序我想了解更多,但大多数是在ASM中。 MatrixMultiply

参考页面为here

我理解C ++,但ASM部分有点模糊。有人可以解释一下吗?

3 个答案:

答案 0 :(得分:4)

该程序使用SIMD(即SSE)指令来优化矩阵乘法。想到将其转换为PHP的方法是没有意义的,因为它是一种解释型语言 - 你不能以这种方式访问​​CPU,哎呀,PHP可能在甚至没有提供这些指令的CPU上运行

如果要在PHP中执行此操作,可以为矩阵乘法创建简单的非优化例程或开发扩展。在后一种情况下,我建议使用其中一个规范的BLAS实现,而不是来自Web的一些随机代码片段。 见http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms

答案 1 :(得分:1)

您要查找的搜索关键字是decompiler。 AFAIK,您可能无法将x86程序集转换为PHP反编译器,因为没有人可能不需要它。

如果您的目的是了解汇编代码。 C有很多反编译器。你可以理解阅读C代码。

答案 2 :(得分:1)

PHPMath上有一个用于Java的JAMA标准矩阵类的PHP端口,它提供了一套用于加法,减法,乘法,除法,变换等的方法。它用PHP4编码,但是转换为PHP5并不需要太多工作。

虽然没有直接回答有关ASM到PHP的问题,但为您提供现成的PHP MatrixMultiply可能很有用