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

  1.   ─────────────────────────────────────────────────────────────────────────────
  2.   Dokumentation zur Datei: LONGINT.INC
  3.  
  4.   ─────────────────────────────────────────────────────────────────────────────
  5.    
  6.     LONGINT.INC  - Routinen zur Arbeit mit LongInteger-Werten mit
  7.                    einem 16-Bit Prozessor
  8.                    (für den Assembler A86)
  9.    
  10.                    (c) Bernd Schemmer 1990 - 1992
  11.                    Letzter Update: 02.02.1992
  12.    
  13.     LongInt{eger}-Werte belegen jeweils 2 Worte und können im Intervall
  14.     -2.147.483.647 bis +2.147.483.647 liegen.
  15.    
  16.     Achtung: Die Routinen testen nicht auf Überlauf!
  17.    
  18.    
  19.     ■ Routinen:
  20.     -----------
  21.     CmpLongInt            - Vergleicht zwei Longint-Werte
  22.     AddLongInt            - Addiert zwei LongInt-Werte
  23.     SubLongInt            - Subtrahiert zwei LongInt-Werte
  24.     MulLongInt            - Multipliziert zwei LongInt-Werte
  25.     DivLongInt            - Dividiert zwei LongInt-Werte
  26.     ModLongInt            - Ermittelt den Rest einer Longint-Division
  27.     CalcLongIntPotenz     - Erhebt einen Longint-Wert zur n-ten Potenz
  28.     ChangeSignCXBX        - Wechselt das Vorzeichen der Longintzahl
  29.                             in CX:BX
  30.     ChangeSignDXAX        - Wechselt das Vorzeichen der Longintzahl
  31.                             in DX:AX
  32.     AbsDXAX               - Konvertiert die Longintzahl in DX:AX in den
  33.                             Absolutwert
  34.     AbsCXBX               - Konvertiert die Longintzahl in CX:BX in den
  35.                             Absolutwert
  36.     
  37.    
  38.     ----------------------------
  39.     AbsDXAX
  40.    
  41.     Funktion:  Konvertiert den Longint-Wert in DX:AX in den Absolutwert
  42.    
  43.     Eingabe:   DX:AX = Longint-Wert
  44.    
  45.     Ausgabe:   DX:AX = konvertierter Longint-Wert
  46.    
  47.     ----------------------------
  48.     AbsCXBX
  49.    
  50.     Funktion:  Konvertiert den Longint-Wert in CX:BX in den Absolutwert
  51.    
  52.     Eingabe:   CX:BX = Longint-Wert
  53.    
  54.     Ausgabe:   CX:BX = konvertierter Longint-Wert
  55.    
  56.     ----------------------------
  57.     ChangeSignCXBX
  58.    
  59.     Funktion:  Wechselt das Vorzeichen des LongInt-Wertes in CX:BX
  60.    
  61.     Eingabe:   CX:BX = Longint-Wert
  62.    
  63.     Ausgabe:   CX:BX = konvertierter Longint-Wert
  64.    
  65.     ----------------------------
  66.     ChangeSignDXAX
  67.    
  68.     Funktion:  Wechselt das Vorzeichen des LongInt-Wertes in DX:AX
  69.    
  70.     Eingabe:   DX:AX = Longint-Wert
  71.    
  72.     Ausgabe:   DX:AX = konvertierter Longint-Wert
  73.    
  74.     ----------------------------
  75.     CalcLongIntPotenz
  76.    
  77.     Funktion:  Erhebt den Longint-Wert in DX:AX zur n-ten Potenz
  78.                wobei n der Longint-Wert in CX:BX ist
  79.    
  80.     Eingabe:   DX:AX = Basiswert
  81.                CX:BX = Potenz (Potenz >= 0)
  82.    
  83.     Ausgabe:   CF = 0 ->> okay
  84.                CF = 1 ->> Fehler, Potenz negativ
  85.    
  86.     Hinweis:   x zur 0. Potenz ist immer 1
  87.    
  88.     ----------------------------
  89.     CmpLongInt
  90.    
  91.     Funktion:  Vergleicht den LongInt-Wert in CX:BX mit den
  92.                LongInt-Wert in DX:AX
  93.    
  94.     Eingabe:   DX:AX = 1. Operand
  95.                CX:BX = 2. Operand
  96.    
  97.     Ausgabe:   Die Flags sind gesetzt wie nach dem Vergleich
  98.                cmp DX:AX,CX:BX
  99.    
  100.     ----------------------------
  101.     AddLongInt
  102.    
  103.     Funktion:  Addiert den LongInt-Wert in CX:BX auf den
  104.                LongInt-Wert in DX:AX
  105.                Keine Überprüfung auf Überlauf!
  106.    
  107.     Eingabe:   DX:AX = 1. Operand
  108.                CX:BX = 2. Operand
  109.    
  110.     Ausgabe:   DX:AX = Ergebnis
  111.    
  112.     ----------------------------
  113.     SubLongInt
  114.    
  115.     Funktion:  Subtrahiert den LongInt-Wert in CX:BX vom
  116.                LongInt-Wert in AX:DX
  117.                Keine Überprüfung auf Überlauf!
  118.    
  119.     Eingabe:   DX:AX = 1. Operand
  120.                CX:BX = 2. Operand
  121.    
  122.     Ausgabe:   DX:AX = Ergebnis
  123.    
  124.     ----------------------------
  125.     ModLongInt
  126.    
  127.     Funktion:  Ermittelt den Rest einer Division zweier Longint-Werte
  128.    
  129.     Eingabe:   DX:AX = 1. Operand
  130.                CX:BX = 2. Operand
  131.    
  132.     Ausgabe:   CF = 0 ->> okay
  133.                           DX:AX = Rest der Division
  134.                CF = 1 ->> Fehler
  135.                           2. Operand war 0
  136.                Keine Überprüfung auf Überlauf!
  137.    
  138.     ----------------------------
  139.     MulLongInt
  140.    
  141.     Funktion:  Multipliziert zwei Longint-Werte
  142.    
  143.     Eingabe:   DX:AX = 1. Operand
  144.                CX:BX = 2. Operand
  145.    
  146.     Ausgabe:   DX:AX = Ergebnis
  147.                Keine Überprüfung auf Überlauf!
  148.    
  149.     ----------------------------
  150.     DivLongInt
  151.    
  152.     Funktion:  Dividiert zwei Longint-Werte
  153.    
  154.     Eingabe:   DX:AX = 1. Operand
  155.                CX:BX = 2. Operand
  156.    
  157.     Ausgabe:   CF = 0 ->> okay
  158.                           DX:AX = Ergebnis
  159.                           CX:BX = Rest
  160.                CF = 1 ->> Fehler
  161.                           2. Operand ist 0
  162.    
  163.