                         TURBO Pascal 3.0 Projekte

    --------------------------------------------------------------------

                   Inline-Generator fr TURBO PASCAL 3.0

    Bekanntlich lassen sich Assemblerroutinen bequem in TURBO Pascal 3.0
    mit der Inline-Anweisung in ein Programm einbinden. Bei manchen
    Compilern kann man die Anweisungen direkt in Assemblerschreibweise
    (Mnemonics) eingeben, bei TURBO werden aber "Hieroglyphen", nmlich
    Hex-Code, bentigt.

    Bedenkt man, da in Assemblern wie z.B. RMAC auch externe Referenzen
    vorkommen knnen, dann bieten sich zwei Mglichkeiten zur Erstellung
    von Inline-Dateien an:

      1. Es wird ein Listing erzeugt und aus diesem dann der Hex-Code
         extrahiert, externe Referenzen werden entsprechend eingesetzt.
         Der Nachteil dieses Verfahrens ist, da man eng an das Format
         der List-Datei gebunden ist, denn dieses Format unterscheidet
         sich von Assembler zu Assembler betrchtlich.
         Dies veranschaulicht folgender Ausschnitt sehr gut:

            M80:  0000'   21 0001     ld    hl,1    Also: <code><hi><lo>

            RMAC: 0000    210100      lxi   h,1     Also: <code><lo><hi>

         Die c't hat dazu im Heft 2 von 1986 fr den Microsoft-Assembler
         M80 ein Programm verffentlicht.
      2. Es wird eine Objekt-Datei erzeugt in einem verbreitetem Format,
         dem REL-80 Format. Dieses war eingefhrt worden vom Microsoft
         Assembler M80 und u.a. verwendet vom RMAC. Hierdurch werden
         mehrere Assembler abgedeckt, so da man seinen
         "Lieblingsassembler" whlen kann. Ein Programm zur Erzeugung
         des Inline-Codes aus dem REL-80 Format wurde vorgestellt in der
         mc im Heft 6 von 1986.

    Ich habe dieses Programm abgetipselt und ein wenig optisch
    aufgewertet. Fr mich war das eine gute Gelegenheit, ein wenig mit
    TURBO Pascal am JOYCE zu spielen. Genauere Informationen sind dem
    Programm zu entnehmen, wenn man sich fr die Ausgabe der Hilfe
    entscheidet.

       * Das Hauptprogramm

         Die Incude Dateien:
       * JOYCE abhngiger Code
       * Fehler Funktionen
       * INLINE Programme
       * String Funktionen
       * Bildschirm Funktionen
       * Initialisierungsfunktionen
       * Parametereingabe Funktionen
       * Datei Ein/Ausgabe Funktionen
       * ERSTER DURCHLAUF
       * ZWEITER DURCHLAUF

    Die Funktion "GetBits" aus dem Modul MKINL3.INC bietet sich zu einem
    Test an. Die Routine liegt als Assemblerdatei vor, einmal als
    GETBITS.ASM fr den RMAC und als GETBITS.MAC fr den M80.

    --------------------------------------------------------------------

    Abgedruckt in Klubzeitung Nr. 57    Autor: Werner Cirsovius
                                                                    [Image]
