Mnemonics Translator - Intel nach Zilog

  • Moin,


    wer der leidgeprueften Z80-Fans kennt es nicht, der Assembler Source ist in Intel 8080 Mnemonics geschrieben. ::vomit::


    Ich hab vor laengerem schon mal auf den I2Z Translator hingewiesen. Leider wandelt dieser nur Grossschrift und hat ein paar weitere Schwaechen.

    Heute war ich es leid, Klein- nach Grossschrift zu wandeln und hab mich an die Erweiterung des I2Z gesetzt.


    Der I2Z fuehlt sich jetzt deutlich besser an.

    Auf jeden Fall die Liesmich des Originals lesen. Einige Schwaechen sind geblieben, die sind aber nicht sehr dramatisch.

    http://www.prof80.de/files/i2z-paket.zip

    http://www.prof80.de/files/i2z/liesmich.txt



    Viel Spass

  • Damit Du nicht den Eindruck hast, das interessiert hier keinen - hiermit oute ich mich als Leidensgenosse. :)

    Auch ich wurde mit dem Z80 sozialisiert und habe meine liebe Mühe mit den 8080 Mnemonics. Wir sprachen bereits drüber ...


    Ich habe mir das Paket auch schon runtergeladen und einen Blick drauf geworfen - dummerweise (oder zum Glück) habe ich im Moment wenig Bedarf. Ich habe es mir in meiner Z80-Ecke gemütlich gemacht und verstecke den ganzen 8080 Krempel hinter einem Schutzwall aus dz80, ddtz etc.


    Trotzdem gut zu wissen, dass es das gibt. Hoffentlich erinnere ich mich auch noch, wenn ich es dann wirklich brauche. Man wird ja alt :alt:

  • Gerade habe ich den I2Z benutzt, um den PROF181-Monitor in Zilog Code zu übersetzen. Dabei ist mir aufgefallen, dass I2Z die unschöne Eigenart besitzt, einzelne Characters in Single Quotes (also z.B. 'c') ebenfalls umzuwandeln. Ist natürlich tödlich z.B. in einem Command Interpreter, der auch Kleinbuchstaben verstehen soll. I2Z sollte also Zeichen(folgen) in sowohl doppelten wie auch einfachen Quotes ignorieren.

    Bison/Lexx Sources würde ich nicht mal mit der Kneifzange anfassen, deswegen sehe ich mich nicht in der Lage, das selber einzubauen.

    Ansonsten hat mir I2Z einen großen Dienst erwiesen, endlich bin ich die Intel-Syntax los!

    Merci!

  • Ich frage mich gerade, ob man für diesen Anwendungsfall einen Satz Peephole-Optimizer-Regeln für den SDCC schreiben könnte.

    Dann könnte man im C-Quelltext 8080-Funktionen einbinden, die dann von diesem Regelsatz zunächst in Z80-Syntax umgewandelt und anschließend von den normalen Optimizer-Regeln des Z80-Backends in effizienteren Z80-Code umgewandelt werden.

  • Wie bedient man den Ruby Script? Was sind die Parameter? Speichert der Script die Ausgangsdaten in eine Datei?

    Auf der Konsole scheint alles zu klappen.

    LG Laszlo

  • Die zu wandelnden Datei(en) werden als Parameter übergeben, Ausgabe erfolgt über 'stdout'.

    D.h. schreiben in eine Datei geht nur über


    ruby 8080toz80.rb assem.8080 > assem.z80