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

  1.   ─────────────────────────────────────────────────────────────────────────────
  2.   Dokumentation zur Datei: GETVALUE.INC
  3.  
  4.   ─────────────────────────────────────────────────────────────────────────────
  5.    
  6.     GETVALUE.INC - Routinen zur Ermittlung und Konvertierung von
  7.                    Werten in Zeichenketten (für den Assembler A86)
  8.    
  9.                    (c) Bernd Schemmer 1990 - 1992
  10.                    Letzter Update: 02.02.1992
  11.    
  12.    
  13.     ■ Hinweis:
  14.     ----------
  15.     Alle Routinen zur Konvertierung von Zeichenketten erwarten einen
  16.     Wert in Form einer Zeichenkette (ohne Längenzähler) bei DS:SI.
  17.     Diese muß mit einer Ziffer beginnen.
  18.     Als Ende der Zahl gilt jedes Zeichen, das in dem entsprechenden
  19.     Zahlensystem keine Ziffer darstellt. Führende Nullen sind erlaubt,
  20.     aber nicht notwendig.
  21.    
  22.    
  23.     ■ Variablen:
  24.     ------------
  25.     FormatChar            - Byte, dieses Zeichen wird beim Ermitteln
  26.                             von Werten überlesen. Voreinstellung: '.'
  27.                             (d.h. 34.5..6 ist das gleiche wie 3456)
  28.    
  29.    
  30.     ■ Routinen:
  31.     -----------
  32.     Digit?                - Konvertiert eine Ziffer in ihren
  33.                             binären Wert
  34.    
  35.     GetBinWord            - Konvertiert eine Bin-String
  36.     GetOctWord            - Konvertiert eine Oct-String
  37.     GetDezWord            - Konvertiert eine Dez-String
  38.     GetHexWord            - Konvertiert eine Hex-String
  39.     GetWord               - Konvertiert eine String in einen Wert mit
  40.                             einer beliebigen Basis zwischen 2 und 15
  41.    
  42.    
  43.    
  44.     ■ Fehlermeldungen der Routinen
  45.     ------------------------------
  46.    
  47.     Alle Fehlernummern der Routinen haben das Format 70xx, wobei xx die
  48.     Nummer des eigentlichen Fehlers ist.
  49.    
  50.     Name                   Nummer   Bedeutung
  51.     ----------------------------------------------------------------------
  52.     InvalidBase        EQU   7001h ; Falsche Basis angegeben
  53.    
  54.     KonvertOverflow    EQU   7002h ; Zahl ist zu groß
  55.    
  56.    
  57.     ----------------------------
  58.     Digit?
  59.    
  60.     Funktion:  Wandelt das ASCII-Zeichen in AL in dessen Wert,
  61.                falls es sich um eine Ziffer im Intervall
  62.                von 0..F handelt.
  63.                (Für die Ziffern A..F sind Groß- undr Kleinbuchstaben
  64.                 erlaubt.)
  65.    
  66.     Eingabe:   AL = ASCII-Zeichen
  67.    
  68.     Ausgabe:   CF = 0 ->> Konvertierung okay
  69.                           AL = Wert
  70.                CF = 1 ->> Fehler
  71.                           AL undefiniert
  72.    
  73.     ----------------------------
  74.     GetBinWord
  75.    
  76.     Funktion:  Konvertiert die Zeichenkette bei DS:SI
  77.                als vorzeichenlose Binärzahl nach AX
  78.    
  79.     Eingabe:   DS:SI -> Zeichenkette
  80.    
  81.     Ausgabe:   CF = 0 ->> Konvertierung ok
  82.                           AX = Wert
  83.                CF = 1 ->> Konvertierung fehlerhaft
  84.                           AX = Fehlernummer
  85.                DS:SI -> Zeichen, welches das Ende der Konvertierung
  86.                         verursachte
  87.                CX = Anzahl Stellen (incl. Formatierungszeichen)
  88.    
  89.     ----------------------------
  90.     GetOctWord
  91.    
  92.     Funktion:  Konvertiert die Zeichenkette bei DS:SI
  93.                als vorzeichenlose Zahl in Octal-Form nach AX
  94.    
  95.     Eingabe:   DS:SI -> Zeichenkette
  96.    
  97.     Ausgabe:   CF = 0 ->> Konvertierung ok
  98.                           AX = Wert
  99.                CF = 1 ->> Konvertierung fehlerhaft
  100.                           AX = Fehlernummer
  101.                DS:SI -> Zeichen, welches das Ende der Konvertierung
  102.                         verursachte
  103.                CX = Anzahl Stellen (incl. Formatierungszeichen)
  104.    
  105.     ----------------------------
  106.     GetDezWord
  107.    
  108.     Funktion:  Konvertiert die Zeichenkette bei DS:SI
  109.                als vorzeichenlose Zahl in Dezimal-Form nach AX
  110.    
  111.     Eingabe:   DS:SI -> Zeichenkette
  112.    
  113.     Ausgabe:   CF = 0 ->> Zahl okay
  114.                           AX = Wert
  115.                CF = 1 ->> Fehler
  116.                           AX = Fehlernummer
  117.                DS:SI -> Zeichen, welches das Ende der Konvertierung
  118.                         verursachte
  119.                CX = Anzahl Stellen (incl. Formatierungszeichen)
  120.    
  121.     ----------------------------
  122.     GetHexWord
  123.    
  124.     Funktion:  Konvertiert die Zeichenkette bei DS:SI als
  125.                vorzeichenlose Zahl in hexadezimal-Form nach AX
  126.    
  127.     Eingabe:   DS:SI -> Zeichenkette
  128.    
  129.     Ausgabe:   CF = 0 ->> Konvertierung ok
  130.                           AX = Wert
  131.                CF = 1 ->> Konvertierung fehlerhaft
  132.                           AX = Fehlernummer
  133.                DS:SI -> Zeichen, welches das Ende der Konvertierung
  134.                         verursachte
  135.                CX = Anzahl Stellen (incl. Formatierungszeichen)
  136.    
  137.     ----------------------------
  138.     GetWord
  139.    
  140.     Funktion:  Konvertiert die Zeichenkette bei DS:SI als
  141.                vorzeichenlose Zahl in einem beliebigen Format
  142.                mit einer Basis zwischen 0 und 15 nach AX
  143.    
  144.     Eingabe:   DS:SI -> Zeichenkette
  145.                CL = Basis (2 .. 15)
  146.    
  147.     Ausgabe:   DS:SI -> Zeichen, welches das Ende der
  148.                         Konvertierung verursachte
  149.                CX = Anzahl Stellen (incl. Formatierungszeichen)
  150.                CF = 0 ->> okay
  151.                           AX = Wert
  152.                CF = 1 ->> Fehler
  153.                           AX = Fehlernummer
  154.                           Falls AX = InvalidBase ist, wurden DS, SI
  155.                                      und CX nicht verändert
  156.    
  157.