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.
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Python + Assembler ?

Beitragvon jonas » Donnerstag 25. Dezember 2008, 20:32

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

Beitragvon lunar » Donnerstag 25. Dezember 2008, 21:31

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
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Beitragvon cofi » Donnerstag 25. Dezember 2008, 21:33

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

Beitragvon lunar » Donnerstag 25. Dezember 2008, 21:39

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

Beitragvon Leonidas » Freitag 26. Dezember 2008, 00:29

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 Modvoice
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Freitag 26. Dezember 2008, 14:34

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

Beitragvon jonas » Freitag 26. Dezember 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

Beitragvon BlackJack » Samstag 27. Dezember 2008, 00:30

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.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Sirius3