6

Python用の優れたアセンブリ生成モジュールを探しています。私はこれを見つけました: PyAsm

しかし、それはうまく機能していません。add、sub、divide、multiplyなどの簡単な操作のためにアセンブリ実行可能ファイルを実行して生成したいと思います。.NETのReflection.Emitライブラリのようなもの。

Linux(Ubuntu 12.10 64ビット)とPython2.7で開発しています。

たとえば、この単純なサブコードをPyAsmでコンパイルしようとすると、「セグメンテーション違反(コアダンプ)」が発生します。

from ctypes import c_int
from pyasm import Program
from pyasm.instructions import push, mov, ret, pop, sub
from pyasm.registers import eax, esp, ebp

def test():
    prog = Program(
        push(ebp),
        mov(ebp, esp),
        mov(eax, ebp.addr+8),
        sub(eax, 10),
        pop(ebp),
        ret(),
    )
    fun = prog.compile(c_int, [c_int])
    assert fun(1234) == 1224

if __name__ == '__main__':
    test()
4

1 に答える 1

3

素晴らしい名前だけではありません: https://github.com/Maratyszcza/PeachPy

http://www.yeppp.infoでの使用を見てください。

于 2013-07-01T17:22:05.280 に答える