home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / lib4a86 / doc / parms.doc < prev    next >
Text File  |  1992-02-21  |  5KB  |  131 lines

  1.   ─────────────────────────────────────────────────────────────────────────────
  2.   Dokumentation zur Datei: PARMS.INC
  3.  
  4.   ─────────────────────────────────────────────────────────────────────────────
  5.    
  6.     PARMS.INC    - Routinen zur Ermittlung von Kommandozeilen-Parametern
  7.                    (für den Assembler A86)
  8.    
  9.                    (c) Bernd Schemmer 1990 - 1992
  10.                    Letzter Update: 02.02.1992
  11.    
  12.     ■ Beschreibung:
  13.     ---------------
  14.     Als Trenner für die Parameter werden die Zeichen
  15.    
  16.           '-', '/', Tabulatoren und das Leerzeichen
  17.    
  18.     angesehen. Ein CR (ASCII-Code 0Dh) wird als Ende der Parameterzeile
  19.     gewertet.
  20.    
  21.     Beispiel:
  22.    
  23.          Die Parameterzeile
  24.                                 11-22/33//44--55-/-66  77  88
  25.          wird folgendermaßen    │ │  │  ││  ││  │││    │   │
  26.          ausgewertet:           │ │  │  ││  ││  │││    │   │
  27.                                 │ │  │  ││  ││  │││    │   │
  28.          Anzahl Parameter:  12  │ │  │  ││  ││  │││    │   │
  29.          Inhalt der Parameter:  │ │  │  ││  ││  │││    │   │
  30.          Parameter  1:  11   ───┘ │  │  ││  ││  │││    │   │
  31.          Parameter  2:  -22  ─────┘  │  ││  ││  │││    │   │
  32.          Parameter  3:  /33  ────────┘  ││  ││  │││    │   │
  33.          Parameter  4:  /    ───────────┘│  ││  │││    │   │
  34.          Parameter  5:  /44  ────────────┘  ││  │││    │   │
  35.          Parameter  6:  -    ───────────────┘│  │││    │   │
  36.          Parameter  7:  -55  ────────────────┘  │││    │   │
  37.          Parameter  8:  -    ───────────────────┘││    │   │
  38.          Parameter  9:  /    ────────────────────┘│    │   │
  39.          Parameter 10:  -66  ─────────────────────┘    │   │
  40.          Parameter 11:  77   ──────────────────────────┘   │
  41.          Parameter 12:  88   ──────────────────────────────┘
  42.    
  43.     Falls ein oder mehrere Trennzeichen in einem Parameter übernommen
  44.     werden soll, muß der Parameter in Anführungstriche gesetzt werden.
  45.     Möglich sind hierfür die Zeichen ' (normales Anführungszeichen),
  46.     ` (umgekehrtes Anführungszeichen) und " (doppelte Anführungszeichen).
  47.     ALLE Zeichen zwischen zwei gleichen Anführungsstrichen werden als
  48.     EIN Parameter gewertet. Die einzige Ausnahme hiervon ist das Zeichen
  49.     mit dem ASCII-Code 0Dh (= CR) Dieses wird IMMER als Ende der Para-
  50.     meterzeile angesehen.
  51.     Die Anführungstriche zur Klammerung eines Parameters werden NICHT
  52.     mit übergeben. Alle möglichen Anführungszeichen können auch gemischt
  53.     in einer Parameterzeile vorkommen.
  54.    
  55.     Achtung: Dadurch sind auch leere Strings als Parameter möglich!!
  56.    
  57.     weitere Beispiele:
  58.    
  59.          Parameter-Zeile   --- wird ausgewertet zu: ----------------------
  60.                           │  Parameter │ Parameter │ Parameter │ Parameter
  61.                           │     1      │    2      │    3      │    4
  62.          ─────────────────┼────────────┼───────────┼───────────┼─────────
  63.          4 -5 --6         │     4      │   -5      │    -      │   -6
  64.          4 -5 '--6'       │     4      │   -5      │  --6      │
  65.          '"45' `a a`      │    "45     │  a a      │           │
  66.          '1 2 3 4 5       │ 1 2 3 4 5  │           │           │
  67.          "a'456 'a"  ''   │  a'456 'a  │(leerer    │           │
  68.                           │            │ String!)  │           │
  69.    
  70.     Die Parameter werden intern gespeichert, d.h. nach einem Aufruf
  71.     einer Routine aus dieser Datei können ohne Verlust der Parameter
  72.     auch Funktionen, die die voreingestellte DTA bei PSP:0080h benutzen,
  73.     aufgerufen werden.
  74.    
  75.     Bei der Behandlung der Anführungsstriche ist die Behandlung dieser
  76.     durch den aktuellen Kommando-Prozessor zu beachten!
  77.     (gilt vor allen für den Kommando-Prozessor 4DOS!)
  78.    
  79.    
  80.     ■ Variablen:
  81.     ------------
  82.     SaveParams            - String, Original-Parameterzeile
  83.                             (erst nach min. einem Aufruf einer Routine
  84.                              aus dieser Datei belegt, READ ONLY!)
  85.    
  86.    
  87.     ■ Routinen:
  88.     -----------
  89.     ParamStr              - Liefert den n-ten Parameter als String mit
  90.                             Längenbyte
  91.     ParamCount            - Liefert die Anzahl der Parameter
  92.    
  93.    
  94.     ■ EQU-Anweisungen für die Trennzeichen (Byte)
  95.    
  96.     CR         EQU 0Dh
  97.     TAB        EQU 09h
  98.     BLANK      EQU ' '
  99.    
  100.     Die beiden folgenden Trennzeichen können vom Programm umdefiniert werden!
  101.    
  102.     ParmTrenner1 EQU '/'
  103.    
  104.     ParmTrenner2 EQU '-'
  105.    
  106.     ----------------------------
  107.     ParamStr
  108.    
  109.     Funktion:  Ermitteln des Parameters mit der Nummer in AL
  110.    
  111.     Eingabe:   AL = Nummer des Parameters (Zählung beginnt bei 1)
  112.                ES:DI -> Puffer für den Parameter
  113.    
  114.     Ausgabe:   Puffer bei ES:DI enthält den Parameter (incl. Längen-Byte)
  115.                falls vorhanden oder aber das Längen-Byte des Strings ist
  116.                auf 0 gesetzt.
  117.                ZF = 0 ->> Parameter ermittelt
  118.                ZF = 1 ->> Parameter nicht vorhanden 
  119.     
  120.     Bes.:      Falls als Nummer 0 angegeben wird, so wird der erste
  121.                Parameter zurückgegeben.
  122.                AX wird nicht verändert.
  123.    
  124.     ----------------------------
  125.     ParamCount
  126.     
  127.     Funktion:   Ermitteln der Anzahl der übergebenen Parameter
  128.    
  129.     Ausgabe:    AL = Anzahl der Parameter
  130.    
  131.