Python + Assembler ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Hi,
kann ich durch irgendein Modul (Inline-)Assemblercode ausführen?
Ich mein das geht ja auch in anderen Hochsprachen...
MfG Jonas
PS: Schöne Restweihnacht ;)
lunar

Das geht in den wenigstens verbreiteten Hochsprache. Die einzige Sprache, die ich kenne und die das in der Sprachspezifikation aufführt, ist Delphi. C# und Java können das schon gar nicht, C und C++ auch nur durch Compilererweiterungen.

Bei Python ist das schwierig bis unmöglich. So müsste man überhaupt erstmal einen Assembler für die Zielplattform mitliefern, um den Assemblercode zu assemblieren (ich denke mal nicht, dass du Inline-Assembler interpretieren willst, obwohl das natürlich auch möglich wäre ;) ). Noch schwieriger wäre allerdings die Zuordnung von Python-Objekten zu Assemblerregistern bzw. Speicheradressen.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wenn du deinen Assemblercode in eine C Extension packst dürfte das am einfachsten gehen.

Was die anderen Hochsprachen angeht würde mir nur C++ einfallen, aber da ist der inline Assambler ein C relikt und keinesfalls Teil der "Hoch"sprache.
lunar

Inline-Assembler ist iirc nicht Bestandteil des C-Sprachstandards, sondern eine Compiler-Erweiterung. __asm__ wird nur vom gcc unterstützt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ist auch die Frage wozu man sowas braucht. Man kann doch mit ctypes schon schöne Interpreter-Crashes produzieren, da braucht man doch gar nicht auf Assember zurückgreifen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Geht aber:
CorePy (Site gerade down) kann das.
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Hi Leute,
Leonidas hat geschrieben:Ist auch die Frage wozu man sowas braucht.
Rumprobieren... :D
CorePy werde ich mir mal ansehen, Danke!

MfG Jonas
BlackJack

Neben TurboPascal, FreePascal, und Delphi würden mir noch D und Forth als Hochsprachen einfallen, bei denen es Unterstützung für Assembler gibt. Gehört bei Forth AFAIK nicht zum Standard, ist aber üblich.

Man könnte auch mit `ctypes` auf GNU lightning zugreifen.
Antworten