G
Grant Olson
Pyasm is a full-featured dynamic assembler written entirely in Python.
By dynamic, I mean that it can be used to generate and execute machine
code in python at runtime without requiring the generation of object
files and linkage. It essentially allow 'inline' assembly in python
modules on x86 platforms.
In addition, pyasm can generate COFF format object files, which may be
of interest to anyone writing a compiler in python.
More details and downloads are available at:
http://www.grant-olson.net/python/pyasm
The 0.3 release is long overdue. It includes:
+ A binary installer for python 2.6. The previous binary installer was
python 2.4.
+ Automatic mapping of python structure values in the assembler. For
Example, assuming EAX is a pointer to a string, MOV
[EAX+PyString_ob_sval],0x42424242 will change the first four letters of
the string to B's
+ The assembler now supports implicit string creation: PUSH 'foo\n\0'
+ The ability to build and test with the mingw toolset on windows. This
previously required an MSVC toolset. Thanks to Markus Läll for sorting
this out.
-Grant
By dynamic, I mean that it can be used to generate and execute machine
code in python at runtime without requiring the generation of object
files and linkage. It essentially allow 'inline' assembly in python
modules on x86 platforms.
In addition, pyasm can generate COFF format object files, which may be
of interest to anyone writing a compiler in python.
More details and downloads are available at:
http://www.grant-olson.net/python/pyasm
The 0.3 release is long overdue. It includes:
+ A binary installer for python 2.6. The previous binary installer was
python 2.4.
+ Automatic mapping of python structure values in the assembler. For
Example, assuming EAX is a pointer to a string, MOV
[EAX+PyString_ob_sval],0x42424242 will change the first four letters of
the string to B's
+ The assembler now supports implicit string creation: PUSH 'foo\n\0'
+ The ability to build and test with the mingw toolset on windows. This
previously required an MSVC toolset. Thanks to Markus Läll for sorting
this out.
-Grant