home *** CD-ROM | disk | FTP | other *** search
-
- 42m ## # ### ### ### 0m
- 42m # # # # # # # 0m
- 42m ##### #### # # # ### ### ## # #### ### 0m (Version 1.0b)
- 42m # # # ### ##### # # # # # # # # # 0m
- 42m # # # # # # ### # # # # # # # 0m
- 42m # # # # # # # # # # # # # # # 0m
- 42m # #### ##### # # #### # # # ### # # ### 0m
-
- 1mfd2AsmInc0m, ein 1mTropicDesign0m Produkt, dient dem Konvertieren von .fd-Files in
- Assembler-Includefiles, OS2.0 wird benötigt!
-
- 42m-- Inhaltsverzeichnis ---------------------------------------------------- 1 --0m
-
- Abschnitt 1..................Inhaltsverzeichnis
- 2..................Copyright
- 3..................Über das Programm
- 4..................Technisches
- 5..................Schlußworte
-
- 42m-- Copyright ------------------------------------------------------------- 2 --0m
-
- Die Copyrights an diesem Freeware-Programm und dem Sourcecode liegen beim Autor
- Hanns Holger Rutz (mir...), für den Vertrieb gelten folgende Bedingungen:
- - für's Kopieren dürfen keine Preise über 3 DM (inklusive Disk, exklusive Porto
- +Verpackung) erhoben werden.
- - folgende Files müssen zusammen in einem Directory kopiert werden:
- 3m fd2AsmInc 0m(das Executable)
- 3m fd2AsmInc.doc 0m(englisches Doc-File)
- oder3m fd2AsmInc.dok 0m(deutsches Doc-File)
- 3m fd2AsmInc.asm 0m(der Assembler-Source)
- Dabei sind die Files unverändert zu kopieren; unter die Einschränkung fallen
- die Filenotes, die Datumsangaben und die Protect-Bits nicht. Schön wär's
- auch, wenn die Icons mitkopiert werden würden...
- Für jegliche eventuell durch die oben aufgelisteten Files entstandene Datenver-
- luste oder Schäden 4mhaftet allein der User0m (wobei ich natürlich offen für Bug-
- reports, Verbesserungsvorschläge etc. bin!). Der Sourcecode darf nur für per-
- sönliche Lernzwecke verwendet werden!
-
- 42m-- Über das Programm ----------------------------------------------------- 3 --0m
-
- Die Idee für dieses Programm hatte ich, als ich die Assembler-Includes für
- OS2.0 entpackt habe - denn seit der Includeversion 36 gibt es keine Include-
- files für die Libraries mehr. Die _LVO-Definitionen sind jetzt alle in den
- doofen Link-Libraries drin. Da ich zum einen diese Libraries mit BLink nicht
- an meinen Objectcode linken konnte (BLink stürzte immer ab) und ich zum anderen
- keinen Bock habe, nach jedem Assemblieren einen Linker zu starten (ich arbeite
- mit dem AsmOne), habe ich mühsam die .fd-Files in Assemblerincludes umgebas-
- telt. Damit Dir diese Bastelei erspart bleibt, habe dieses Programm entworfen.
- Es übersetzt beliebige .fd-Files in Assembler-Includes mit den standardisierten
- _LVO-Definitionen. Der Aufruf lautet so:
- 3m
- fd2AsmInc <from> [<to>] [comments] [spaces] [tabs <1-65535>] [dec] [hex]
-
- <from> 0mName des .fd-Files (kann Wildcards enthalten);3m
- <to> 0mName des zu erzeugenden Includefiles bzw. des Zieldirectorys;3m
- <comments> 0mist dieser Switch gesetzt, so werden eventuell im .fd-File enthal-
- tenen Kommentare ins Include-File übernommen.3m
- spaces 0mzur Formatierung des Include-Files werden Spaces benutzt.3m
- tabs <size> 0mentspricht3m spaces0m, jedoch werden Tabulatoren der Größe3m <size> 0mbe-
- nutzt;3m
- dec 0mdie Offsets werden als Dezimalzahlen angegeben.3m
- hex 0mdie Offsets werden als Hexdezimalzahlen angegeben.
-
- Wird kein Zielname/-pfad angegeben, so wird das Includefile im aktuellen Direc-
- tory erzeugt.
- Wird weder3m spaces 0mnoch3m tabs 0mgesetzt (voreingestellt), so wird das Gleichheits-
- zeichen und der Offset direkt an den Funktionsnamen gequetscht. Gibt man beide
- Parameter an, so werden bevorzugt Tabs benutzt und hinter dem Gleichheitszei-
- chen einer Funktion ein Space verwendet. Bei einer Formatierung werden die
- Gleichheitszeichen so gesetzt, daß sie alle untereinander stehen, der Abstand
- vom Rand wird so groß gewählt, daß genau ein Tab bzw. Space zwischen den läng-
- sten Funktionsnamen und das Gleichheitszeichen paßt.
- Gibt man als Zahlensystem für die Offsets entweder die beiden Switches3m dec 0m und3m
- hex 0moder keine von ihnen an, so bevorzugt 1mfd2AsmInc0m die (je nach Offsetgröße
- varierende) kürzere Form. Ist die Länge des Dezimalausdrucks äquivalent zu der
- des Hexausdrucks, wird der Hexausdruck benutzt.
- Während der Konvertierung werden die Filenamen in zwei Spalten ausgegeben:
- links der Name der .fd-Datei und rechts der des Includefiles. Die zwei Punkte
- hinter dem Namen bedeuten, daß die jeweilige Datei gerade bearbeitet wird.
- Tritt ein Fehler auf, so wird er neben dem Filenamen ausgegeben (bei einem syn-
- taktischen Fehler im .fd-File wird außerdem die Nummer der fehlerhaften Zeile
- ausgegeben). War die Includedatei bereits geöffnet, versucht 1mfd2AsmInc0m diese zu
- löschen und gibt gegebenenfalls eine Erfolgsmeldung aus. Enthielt der Parameter3m
- from 0mWildcards, so fragt das Programm nach, ob es mit der Konvertierung fort-
- fahren soll. Das Programm kann mit CTRL+C abgebrochen werden.
-
- 42m-- Technisches ----------------------------------------------------------- 4 --0m
-
- Für die, die es ganz genau wissen wollen, hier ein paar technische Hintergrund-
- infos:
- - 1mfd2AsmInc0m ist reentrant und PC-relativ programmiert (mit dem AsmOne V1.02);
- - die Länge eines Funktionsnamens (inkl.3m _LVO0m) darf3m $ffff 0mnicht überschreiten;
- -3m ##private, ##public 0mund3m ##base 0msowie andere3m ##xxx 0mwerden ignoriert;
- -3m ##bias 0mund3m ##end 0mwerden sowohl in Groß- als auch in Kleinbuchstaben erkannt;
- - das Programm boykottiert den Amiga 600 :-)
- - bei aufgetretendem Fehler wird3m RETURN_FAIL0m, bei3m ***Break 0mein3m RETURN_WARN 0mzu-
- rückgeliefert;
- - das Programm enthält einen Versionsstring;
- - die Hexoffsets werden in Kleinbuchstaben ausgegeben (sieht schöner aus);
- - Powerbrei und AmigaCrypt sind die besten Diskmags, hol sie Dir!
- - 1mTropicDesign0m sind Hanns Holger Rutz und Marco Brinkmann;
- - die Continueabfrage prüft die Eingabe auf 'y' oder 'Y';
- - Tabs werden genauso wie Spaces erkannt;
- - enthält das .fd-File kein3m ##bias0m, so ist der Offset3m NULL0m;
- - das Programm verarbeitet auch Files, die nicht mit3m ##end 0mabschließen;
- - enthält3m from 0mWildcards und3m to 0mexistiert noch nicht, so wird (im Gegensatz zu
- c:copy) kein Zieldirectory erzeugt;
- - den Rest erklärt der Source;
-
- 42m-- Schlußworte ----------------------------------------------------------- 5 --0m
-
- Das war's dann. Viel Features für die Zukunft hab' ich nicht im Kopf (ehrlich
- gesagt gar keine) - man könnte eine3m ALL0m-Option und ein3m FROM/M 0meinbauen und ein
- Zieldirectory erzeugen, falls from Wildcards enthielte, aber ich denke, der
- Aufwand lohnt sich nicht, und außerdem braucht das sowieso kein Mensch (hoffe
- ich). Für Bugreports, Verbesserungsvorschläge oder was auch immer kannst Du an
- diese Adresse schreiben:
-
- 1mTropicDesign0m
- c/o Hanns Holger Rutz
- Auf dem Godenstedter Berg 17
- 27404 Zeven
-