home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / tasm / helpme.doc < prev    next >
Encoding:
Text File  |  1988-08-28  |  9.8 KB  |  236 lines

  1. ALLGEMEINE FRAGEN UND ANTWORTEN ZUM TURBO ASSEMBLER 1.0
  2. ------------------------------------------------------
  3.  
  4.   Die folgenden Fragen und Antworten geben Ihnen Tips und
  5.   Hinweise zur Arbeit mit dem Turbo Assembler.
  6.  
  7.  
  8.  F. Wie installiere ich den Turbo Assembler ?
  9.  A. Starten Sie das Programm INSTALL auf der TURBO ASSEMBLER/INSTALLATION
  10.     Diskette. Um das Programm starten zu können, müssen Sie entweder das
  11.     aktuelle Laufwerk wechseln oder INSTALL mit Laufwerksangabe starten:
  12.  
  13.       A:
  14.       INSTALL
  15.  
  16.       oder:
  17.  
  18.       A:INSTALL
  19.  
  20.     Das Installationsprogramm wird dann menügesteuert die Installation
  21.     auf Ihrer Festplatte oder auf einem Zwei-Laufwerkssystem durchführen.
  22.  
  23.  F. Wann verwende ich die verschiedenen Modi, die TASM zur Assemblierung
  24.     bereits bestehender Programme zur Verfügung stellt ?
  25.  A. Modus                  Voraussetzung für die Benutzung
  26.     -------------------------------------------------------------
  27.     Normal(MASM)         - Programm läßt sich unter MASM 4.00 oder
  28.                            MASM 5.00 assemblieren.
  29.     Quirks               - Programm läßt sich unter MASM 4.00 oder
  30.                            MASM 5.00 assemblieren, aber nicht mit TASM
  31.                            ohne MASM51 oder QUIRKS.
  32.     Masm51               - Programm benötigt MASM 5.1 zur Assemblierung.
  33.     Masm51 und Quirks    - Programm benötigt MASM 5.1 zur Assemblierung,
  34.                            aber läßt sich nicht mit TASM im Modus MASM51
  35.                            assemblieren.
  36.  
  37.  F. Muß ich den Modus MASM51 immer benutzen, wenn ich Programme assemblieren
  38.     will, die für MASM 5.1 geschrieben wurden ?
  39.  A. Die meisten Programme werden sich auch ohne die  MASM51-Anweisung
  40.     assemblieren lassen. Wenn Ihr Programm allerdings MASM 5.1 spezifische
  41.     Dinge benutzt, dann ist es nötig, diesen Modus zu benutzen.
  42.  
  43.  F. Was wird im einzelnen durch die Optionen QUIRKS und MASM51 erreicht ?
  44.  A. Im folgenden wird gezeigt was die verschiedenen Kombinationen von
  45.     QUIRKS und MASM51 bewirken:
  46.  
  47.     Modus                  Wirkung
  48.     -------------------------------------------------------------
  49.     Quirks               - FAR-Sprünge werden als NEAR oder SHORT
  50.                            codiert, falls es die CS-Assume-Anweisung
  51.                            erlaubt.
  52.                          - beim Zugriff auf Variablen wird die Operanden-
  53.                            größe allein durch das verwendete Register
  54.                            bestimmt
  55.                          - Zerstört OFFSET, Segment-Überschreibung,
  56.                            etc., Informationen über '=' oder numerische
  57.                            'EQU'-Zuweisungen.
  58.                          - Erzwingt bei "EQU"-Zuweisungen mit "PTR" oder
  59.                            ":" , daß ein Parameter als Text behandelt
  60.                            wird.
  61.  
  62.     Masm51               - Instr, Catstr, Substr, Sizestr und
  63.                            "\" -Zeilenfortsetzung ist möglich.
  64.                          - "EQU" mit Schlüsselwörtern wird als Text
  65.                            behandelt.
  66.                          - Führende Leerstellen in "%textmacro" bei
  67.                            Makro-Argumenten werden nicht entfernt.
  68.  
  69.     Masm51 and Quirks    - Alles was unter QUIRKS oben aufgelistet wurde.
  70.                          - Alles was unter MASM51 oben aufgelistet wurde.
  71.                          - Lokale Labels mit @@, @F und @B sind möglich.
  72.                          - Prozedur-Bezeichner werden in den "extended
  73.                            MODEL's" automatisch als PUBLIC deklariert.
  74.                          - Near Labels in Unterprogrammen können in
  75.                            anderen Unterprogrammen redefiniert werden.
  76.                          - "::" Operator ermöglicht die Defintion von
  77.                            Symbolen, auf die von außerhalb zugegriffen
  78.                            werden kann.
  79.  
  80.     Masm51 and Ideal     - Ideal Mode Syntax und Masm51 Text-Makro-
  81.                            Anweisungen werden unterstützt.
  82.  
  83.   F. Wann soll ich die DOSSEG oder .STACK-Anweisungen benutzen ?
  84.   A. Benutzen Sie diese Anweisungen nicht, wenn Sie Ihre Assembler-
  85.      Module mit einer Hochsprache binden wollen. Diese Compiler
  86.      verwalten die Segment- und Stack-Anordnung selbst, so daß es
  87.      Konflikte geben könnte. Die DOSSEG-Anweisung wird nur benötigt,
  88.      falls Sie wünschen, daß der Linker die Segmente nach Microsoft-
  89.      Konventionen anordnet.
  90.  
  91.   F. Welche Otionen sind notwendig, falls ich den Turbo Assembler
  92.      verwenden will, um die beim Microsoft C Compiler mitgelieferten
  93.      Dateien zu assemblieren?
  94.   A. Falls Sie Assembler-Module assemblieren wollen, die mit Microsoft
  95.      Compilern geliefert wurden, müssen Sie die MASM51 und QUIRKS-
  96.      Anweisungen benutzen.
  97.      z.B.:
  98.  
  99.        tasm /jmasm51 /jquirks Dateiname
  100.  
  101.   F. Wie erzeuge ich eine COM-Datei ?
  102.   A. Ihre Assembler-Quelle muß im Speichermodell "Tiny" assembliert
  103.      werden (.MODEL TINY) und muß eine  ORG 100h-Anweisung enthalten.
  104.      Der Anfang des Code-Segments könnte wie folgt aussehen:
  105.  
  106.                 .MODEL  TINY
  107.                 .CODE
  108.                 ORG     100h
  109.         Start:
  110.                 ....          ; Programmrumpf
  111.         ENDS    Start         ; definiert "Start" als Einstiegspunkt
  112.         END
  113.  
  114.      Verwenden Sie keine .STACK-Anweisung in einem Programm, aus dem
  115.      Sie eine COM-Datei erzeugen wollen.
  116.  
  117.      TLINK erzeugt eine COM-Datei anstelle einer EXE-Datei, falls
  118.      die /t-Option beim Binden angegeben wurde.
  119.      z.B.:
  120.  
  121.         tlink -t SHOW87
  122.  
  123.      erzeugt SHOW87.COM anstatt SHOW87.EXE.
  124.  
  125.      Es gibt einige Einschränkungen bei der Konvertierung einer EXE-Datei
  126.      in eine COM-Datei. Diese Einschränkungen sind in der IBM-Betriebs-
  127.      systemdokumentation unter "EXE2BIN" beschrieben.
  128.  
  129.   F. Wie assembliere ich mehrere Dateien mit dem Turbo Assembler ?
  130.   A. Turbo Assembler assembliert mehrere Dateien entweder durch Ver-
  131.      wendung von Wildcards oder durch getrennte Angabe der Dateinamen,
  132.      die mit einem "+"-Zeichen zu trennen sind.
  133.      z.B.:
  134.  
  135.        tasm filt + o*
  136.  
  137.      assembliert die Datei FILT.ASM und alle ASM-Dateien, deren Name
  138.      mit einem "o" beginnt.
  139.  
  140.   F. Wie kann ich mehrere Dateien assemblieren, die nicht dieselben
  141.      Kommandozeilen-Parameter haben ?
  142.   A. Der Turbo Assembler benutzt das Semikolon (;), um die Parameter
  143.      in der Kommandozeile zu trennen.
  144.      z.B.:
  145.  
  146.        tasm /zi filt; o*
  147.  
  148.      assembliert die Datei FILT.ASM mit Debug-Informationen,
  149.      und alle ASM-Dateien, deren Name mit einem "o" beginnt ohne
  150.      Debug-Informationen.
  151.  
  152.   F. Microsoft Macro Assembler erlaubt die Definition von Environment-
  153.      Variablen, so daß man sie nicht jedesmal in der Kommandozeile an-
  154.      zugeben braucht.
  155.      Ist das mit dem Turbo Assembler auch möglich ?
  156.   A. Nein, aber der Turbo Assembler bietet eine viel flexiblere
  157.      Möglichkeit, um einem das ständige Eintippen der Parameter zu
  158.      ersparen. Jedesmal wenn Sie den Turbo Assembler starten, sucht
  159.      er erst im aktuellen Verzeichnis und dann in dem Verzeichnis, von
  160.      dem er gestartet wurde (DOS 3.x und höher) nach einer Datei
  161.      "TASM.CFG", die beliebige Kommandozeilen-Parameter enthalten kann.
  162.      Diese Datei wird zuerst ausgewertet. Die Kommandozeilen-Parameter
  163.      können Die Optionen der Konfigurationsdatei überschreiben.
  164.      z.B.:
  165.  
  166.        /t /ml /zi /jJUMPS /jLOCALS
  167.  
  168.      Sie können eine "TASM.CFG"-Datei erzeugen, die folgende Optionen
  169.      enthält:
  170.  
  171.        /t
  172.        /ml
  173.        /zi
  174.        /jJUMPS
  175.        /jLOCALS
  176.  
  177.      Jedesmal wenn Sie den Turbo Assembler starten, verwendet er diese
  178.      Optionen als Voreinstellungen. Sie können auch, falls notwendig,
  179.      für jedes Projekt eine eigene Konfigurationsdatei verwenden, da der
  180.      Turbo Assembler immer zuerst im aktuellen Verzeichnis sucht.
  181.  
  182.   F. Was sind die Kommandodateien des Turbo Assemblers ?
  183.   A. Das sind Dateien, die Turbo Assembler-Kommandozeilen-Parameter
  184.      enthalten und in der Kommandozeile durch einen vorangestellten
  185.      Klammeraffen (@) angegeben werden.
  186.      Wenn Sie zum Beispiel eine Datei "FILE.CMD" haben, die folgendes
  187.      enthält:
  188.  
  189.        /t
  190.        /ml
  191.        /zi
  192.        /jJUMPS
  193.        /jLOCALS
  194.        file1 +
  195.        file2 +
  196.        file3 +
  197.        file4
  198.  
  199.      dann können Sie folgende Kommandozeile verwenden:
  200.  
  201.        tasm @FILE.CMD
  202.  
  203.      anstelle von:
  204.  
  205.        tasm /t /ml /zi /jJUMPS /jLOCALS file1+file2+file3+file4
  206.  
  207.      Beachten Sie, daß der Klammeraffe (@) nicht Bestandteil des
  208.      Dateinamens ist.
  209.  
  210.   F. Ich binde meine eigenen Assembler-Funktionen mit Turbo C.
  211.      Der Linker meldet mir, daß alle meine Funktionen nicht definiert
  212.      sind.
  213.   A. Versichern Sie sich, daß alle Assembler-Symbole, die Sie in
  214.      Turbo C ansprechen, einen führenden Unterstrich besitzen (_).
  215.      Falls Sie die vereinfachten Segmentanweisungen zusammen mit
  216.      dem Turbo C-Speichermodell benutzen, wird der Turbo Assembler
  217.      das für Sie erledigen. Ihr Assembler-Programm muß  "case sensitive"
  218.      assembliert werden, d.h. mit der Option /ML oder /MX.
  219.      Siehe Kapitel 6, "Die Schnittstelle zu Turbo C" im Benutzerhandbuch
  220.      des Turbo Assemblers.
  221.  
  222.   F. Kann ich den Backslash (\) anstelle des Schrägstrichs (/) bei der
  223.      Angabe von Optionen verwenden ?
  224.   A. NEIN! Turbo Assembler (und MASM) würden den Backslash als eine
  225.      Datei, die sich im Hauptverzeichnis befindet, behandeln.
  226.      Falls Sie unglücklicherweise folgende Kommandozeile eingegeben
  227.      hätten:
  228.  
  229.       tasm \zi prid&joy.asm
  230.  
  231.      würde der Turbo Assembler (und MASM) versuchen die Datei ZI.ASM
  232.      zu assemblieren. Das würde dazu führen, daß eine Datei namens
  233.      PRID&JOY.ASM (falls sie existiert) durch die erzeugte Objekt-
  234.      Datei überschrieben, oder (falls ZI.ASM nicht existiert)
  235.      gelöscht wird.
  236.