【发布时间】:2011-03-23 14:24:35
【问题描述】:
【问题讨论】:
标签: php assembly reverse-engineering matrix-multiplication
【问题讨论】:
标签: php assembly reverse-engineering matrix-multiplication
该程序使用 SIMD(即 SSE)指令来优化矩阵乘法。考虑将其转换为 PHP 的方法是没有意义的,因为它是一种解释性语言 - 您无法以这种方式访问 CPU,哎呀,PHP 可能在甚至不提供这些指令的 CPU 上运行.
如果您想在 PHP 中执行此操作,您可以创建一个简单的、未优化的矩阵乘法例程,或者开发一个扩展。在后一种情况下,我建议使用其中一个规范的 BLAS 实现,而不是来自网络的一些随机代码 sn-p。 见http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms
【讨论】:
您要查找的搜索关键字是decompiler。 AFAIK,您可能无法将 x86 程序集转换为 PHP 反编译器,因为可能没有人不需要它。
如果您的目的是了解汇编代码。 C的反编译器很多,看C代码就明白了。
【讨论】:
在PHPMath 上有一个用于 Java 的 JAMA 标准矩阵类的 PHP 端口,它提供了一套矩阵加法、减法、乘法、除法、变换等方法。它是用 PHP4 编码的,但没有转换成 PHP5 不需要做很多工作。
虽然没有直接回答您关于 ASM 到 PHP 的问题,但给您一个现成的 PHP MatrixMultiply 可能会很有用
【讨论】: