home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / oct93 / develop / fd2asminc.lha / fd2AsmInc / fd2AsmInc.dok < prev    next >
Text File  |  1993-09-02  |  7KB  |  124 lines

  1.  
  2.    ›42m    ##     #   ###    ###                ###             ›0m
  3.    ›42m   #       #  #   #  #   #                #              ›0m
  4.    ›42m #####  ####      #  #   #  ###  ### ##   #  ####   ###  ›0m (Version 1.0b)
  5.    ›42m   #   #   #   ###   ##### #     #  #  #  #  #   # #   # ›0m
  6.    ›42m   #   #   #  #      #   #  ###  #  #  #  #  #   # #     ›0m
  7.    ›42m   #   #   #  #      #   #     # #  #  #  #  #   # #   # ›0m
  8.    ›42m   #    ####  #####  #   # ####  #  #  # ### #   #  ###  ›0m
  9.  
  10. ›1mfd2AsmInc›0m,  ein ›1mTropicDesign›0m Produkt,  dient dem Konvertieren  von .fd-Files in
  11. Assembler-Includefiles, OS2.0 wird benötigt!
  12.  
  13. ›42m-- Inhaltsverzeichnis ---------------------------------------------------- 1 --›0m
  14.  
  15. Abschnitt 1..................Inhaltsverzeichnis
  16.           2..................Copyright
  17.           3..................Über das Programm
  18.           4..................Technisches
  19.           5..................Schlußworte
  20.  
  21. ›42m-- Copyright ------------------------------------------------------------- 2 --›0m
  22.  
  23. Die Copyrights an diesem Freeware-Programm und dem Sourcecode liegen beim Autor
  24. Hanns Holger Rutz (mir...), für den Vertrieb gelten folgende Bedingungen:
  25. - für's Kopieren dürfen keine Preise über 3 DM (inklusive Disk, exklusive Porto
  26.   +Verpackung) erhoben werden.
  27. - folgende Files müssen zusammen in einem Directory kopiert werden:
  28.       ›3m fd2AsmInc              ›0m(das Executable)
  29.       ›3m fd2AsmInc.doc          ›0m(englisches Doc-File)
  30.   oder›3m fd2AsmInc.dok          ›0m(deutsches Doc-File)
  31.       ›3m fd2AsmInc.asm          ›0m(der Assembler-Source)
  32.   Dabei sind die Files unverändert zu kopieren;  unter die Einschränkung fallen
  33.   die  Filenotes,  die Datumsangaben  und  die Protect-Bits nicht.  Schön wär's
  34.   auch, wenn die Icons mitkopiert werden würden...
  35. Für jegliche eventuell durch die oben aufgelisteten Files entstandene Datenver-
  36. luste  oder Schäden ›4mhaftet allein der User›0m  (wobei ich natürlich offen für Bug-
  37. reports,  Verbesserungsvorschläge etc. bin!).  Der Sourcecode darf nur für per-
  38. sönliche Lernzwecke verwendet werden!
  39.  
  40. ›42m-- Über das Programm ----------------------------------------------------- 3 --›0m
  41.  
  42. Die Idee  für dieses Programm  hatte ich,  als ich  die Assembler-Includes  für
  43. OS2.0 entpackt habe  -  denn seit der Includeversion 36 gibt es  keine Include-
  44. files für  die Libraries mehr.  Die _LVO-Definitionen  sind  jetzt alle  in den
  45. doofen Link-Libraries drin.  Da ich zum einen  diese Libraries  mit BLink nicht
  46. an meinen Objectcode linken konnte (BLink stürzte immer ab) und ich zum anderen
  47. keinen Bock habe, nach jedem Assemblieren einen Linker zu starten  (ich arbeite
  48. mit dem AsmOne),  habe ich mühsam  die .fd-Files in Assemblerincludes  umgebas-
  49. telt.  Damit Dir diese Bastelei erspart bleibt, habe dieses Programm entworfen.
  50. Es übersetzt beliebige .fd-Files in Assembler-Includes mit den standardisierten
  51. _LVO-Definitionen. Der Aufruf lautet so:
  52. ›3m
  53. fd2AsmInc <from> [<to>] [comments] [spaces] [tabs <1-65535>] [dec] [hex]
  54.  
  55. <from>      ›0mName des .fd-Files (kann Wildcards enthalten);›3m
  56. <to>        ›0mName des zu erzeugenden Includefiles bzw. des Zieldirectorys;›3m
  57. <comments>  ›0mist dieser Switch gesetzt,  so werden eventuell im .fd-File enthal-
  58.             tenen Kommentare ins Include-File übernommen.›3m
  59. spaces      ›0mzur Formatierung des Include-Files werden Spaces benutzt.›3m
  60. tabs <size> ›0mentspricht›3m spaces›0m,  jedoch werden Tabulatoren  der Größe›3m <size> ›0mbe-
  61.             nutzt;›3m
  62. dec         ›0mdie Offsets werden als Dezimalzahlen angegeben.›3m
  63. hex         ›0mdie Offsets werden als Hexdezimalzahlen angegeben.
  64.  
  65. Wird kein Zielname/-pfad angegeben, so wird das Includefile im aktuellen Direc-
  66. tory erzeugt.
  67. Wird weder›3m spaces ›0mnoch›3m tabs ›0mgesetzt (voreingestellt),  so wird das Gleichheits-
  68. zeichen und der Offset direkt an den Funktionsnamen gequetscht.  Gibt man beide
  69. Parameter an,  so werden bevorzugt Tabs benutzt  und hinter dem Gleichheitszei-
  70. chen  einer Funktion  ein Space verwendet.  Bei einer Formatierung  werden  die
  71. Gleichheitszeichen so gesetzt,  daß sie alle untereinander stehen,  der Abstand
  72. vom Rand wird so groß gewählt,  daß genau ein Tab bzw. Space zwischen den läng-
  73. sten Funktionsnamen und das Gleichheitszeichen paßt.
  74. Gibt man als Zahlensystem für die Offsets entweder die beiden Switches›3m dec ›0m und›3m
  75. hex ›0moder keine  von ihnen an,  so bevorzugt ›1mfd2AsmInc›0m die  (je nach Offsetgröße
  76. varierende) kürzere Form.  Ist die Länge des Dezimalausdrucks äquivalent zu der
  77. des Hexausdrucks, wird der Hexausdruck benutzt.
  78. Während  der Konvertierung  werden  die Filenamen  in zwei Spalten  ausgegeben:
  79. links der Name der .fd-Datei  und rechts der des Includefiles.  Die zwei Punkte
  80. hinter  dem Namen  bedeuten,  daß die jeweilige Datei  gerade  bearbeitet wird.
  81. Tritt ein Fehler auf, so wird er neben dem Filenamen ausgegeben (bei einem syn-
  82. taktischen Fehler im .fd-File wird außerdem  die Nummer  der fehlerhaften Zeile
  83. ausgegeben). War die Includedatei bereits geöffnet, versucht ›1mfd2AsmInc›0m diese zu
  84. löschen und gibt gegebenenfalls eine Erfolgsmeldung aus. Enthielt der Parameter›3m
  85. from ›0mWildcards,  so fragt das Programm nach,  ob es mit der Konvertierung fort-
  86. fahren soll. Das Programm kann mit CTRL+C abgebrochen werden.
  87.  
  88. ›42m-- Technisches ----------------------------------------------------------- 4 --›0m
  89.  
  90. Für die, die es ganz genau wissen wollen, hier ein paar technische Hintergrund-
  91. infos:
  92. - ›1mfd2AsmInc›0m ist reentrant und PC-relativ programmiert (mit dem AsmOne V1.02);
  93. - die Länge eines Funktionsnamens (inkl.›3m _LVO›0m) darf›3m $ffff ›0mnicht überschreiten;
  94. -›3m ##private, ##public ›0mund›3m ##base ›0msowie andere›3m ##xxx ›0mwerden ignoriert;
  95. -›3m ##bias ›0mund›3m ##end ›0mwerden sowohl in Groß- als auch in Kleinbuchstaben erkannt;
  96. - das Programm boykottiert den Amiga 600 :-)
  97. - bei aufgetretendem Fehler wird›3m RETURN_FAIL›0m,  bei›3m ***Break ›0mein›3m RETURN_WARN ›0mzu-
  98.   rückgeliefert;
  99. - das Programm enthält einen Versionsstring;
  100. - die Hexoffsets werden in Kleinbuchstaben ausgegeben (sieht schöner aus);
  101. - Powerbrei und AmigaCrypt sind die besten Diskmags, hol sie Dir!
  102. - ›1mTropicDesign›0m sind Hanns Holger Rutz und Marco Brinkmann;
  103. - die Continueabfrage prüft die Eingabe auf 'y' oder 'Y';
  104. - Tabs werden genauso wie Spaces erkannt;
  105. - enthält das .fd-File kein›3m ##bias›0m, so ist der Offset›3m NULL›0m;
  106. - das Programm verarbeitet auch Files, die nicht mit›3m ##end ›0mabschließen;
  107. - enthält›3m from ›0mWildcards und›3m to ›0mexistiert noch nicht,  so wird (im Gegensatz zu
  108.   c:copy) kein Zieldirectory erzeugt;
  109. - den Rest erklärt der Source;
  110.  
  111. ›42m-- Schlußworte ----------------------------------------------------------- 5 --›0m
  112.  
  113. Das war's dann.  Viel Features für die Zukunft hab' ich nicht im Kopf  (ehrlich
  114. gesagt gar keine) -  man könnte eine›3m ALL›0m-Option und ein›3m FROM/M ›0meinbauen und ein
  115. Zieldirectory erzeugen,  falls from  Wildcards enthielte,  aber ich denke,  der
  116. Aufwand lohnt sich nicht,  und außerdem braucht das sowieso kein Mensch  (hoffe
  117. ich). Für Bugreports,  Verbesserungsvorschläge oder was auch immer kannst Du an
  118. diese Adresse schreiben:
  119.  
  120. ›1mTropicDesign›0m
  121. c/o Hanns Holger Rutz
  122. Auf dem Godenstedter Berg 17
  123. 27404 Zeven
  124.