home *** CD-ROM | disk | FTP | other *** search
- ─────────────────────────────────────────────────────────────────────────────
- Dokumentation zur Datei: LONGINT.INC
-
- ─────────────────────────────────────────────────────────────────────────────
-
- LONGINT.INC - Routinen zur Arbeit mit LongInteger-Werten mit
- einem 16-Bit Prozessor
- (für den Assembler A86)
-
- (c) Bernd Schemmer 1990 - 1992
- Letzter Update: 02.02.1992
-
- LongInt{eger}-Werte belegen jeweils 2 Worte und können im Intervall
- -2.147.483.647 bis +2.147.483.647 liegen.
-
- Achtung: Die Routinen testen nicht auf Überlauf!
-
-
- ■ Routinen:
- -----------
- CmpLongInt - Vergleicht zwei Longint-Werte
- AddLongInt - Addiert zwei LongInt-Werte
- SubLongInt - Subtrahiert zwei LongInt-Werte
- MulLongInt - Multipliziert zwei LongInt-Werte
- DivLongInt - Dividiert zwei LongInt-Werte
- ModLongInt - Ermittelt den Rest einer Longint-Division
- CalcLongIntPotenz - Erhebt einen Longint-Wert zur n-ten Potenz
- ChangeSignCXBX - Wechselt das Vorzeichen der Longintzahl
- in CX:BX
- ChangeSignDXAX - Wechselt das Vorzeichen der Longintzahl
- in DX:AX
- AbsDXAX - Konvertiert die Longintzahl in DX:AX in den
- Absolutwert
- AbsCXBX - Konvertiert die Longintzahl in CX:BX in den
- Absolutwert
-
-
- ----------------------------
- AbsDXAX
-
- Funktion: Konvertiert den Longint-Wert in DX:AX in den Absolutwert
-
- Eingabe: DX:AX = Longint-Wert
-
- Ausgabe: DX:AX = konvertierter Longint-Wert
-
- ----------------------------
- AbsCXBX
-
- Funktion: Konvertiert den Longint-Wert in CX:BX in den Absolutwert
-
- Eingabe: CX:BX = Longint-Wert
-
- Ausgabe: CX:BX = konvertierter Longint-Wert
-
- ----------------------------
- ChangeSignCXBX
-
- Funktion: Wechselt das Vorzeichen des LongInt-Wertes in CX:BX
-
- Eingabe: CX:BX = Longint-Wert
-
- Ausgabe: CX:BX = konvertierter Longint-Wert
-
- ----------------------------
- ChangeSignDXAX
-
- Funktion: Wechselt das Vorzeichen des LongInt-Wertes in DX:AX
-
- Eingabe: DX:AX = Longint-Wert
-
- Ausgabe: DX:AX = konvertierter Longint-Wert
-
- ----------------------------
- CalcLongIntPotenz
-
- Funktion: Erhebt den Longint-Wert in DX:AX zur n-ten Potenz
- wobei n der Longint-Wert in CX:BX ist
-
- Eingabe: DX:AX = Basiswert
- CX:BX = Potenz (Potenz >= 0)
-
- Ausgabe: CF = 0 ->> okay
- CF = 1 ->> Fehler, Potenz negativ
-
- Hinweis: x zur 0. Potenz ist immer 1
-
- ----------------------------
- CmpLongInt
-
- Funktion: Vergleicht den LongInt-Wert in CX:BX mit den
- LongInt-Wert in DX:AX
-
- Eingabe: DX:AX = 1. Operand
- CX:BX = 2. Operand
-
- Ausgabe: Die Flags sind gesetzt wie nach dem Vergleich
- cmp DX:AX,CX:BX
-
- ----------------------------
- AddLongInt
-
- Funktion: Addiert den LongInt-Wert in CX:BX auf den
- LongInt-Wert in DX:AX
- Keine Überprüfung auf Überlauf!
-
- Eingabe: DX:AX = 1. Operand
- CX:BX = 2. Operand
-
- Ausgabe: DX:AX = Ergebnis
-
- ----------------------------
- SubLongInt
-
- Funktion: Subtrahiert den LongInt-Wert in CX:BX vom
- LongInt-Wert in AX:DX
- Keine Überprüfung auf Überlauf!
-
- Eingabe: DX:AX = 1. Operand
- CX:BX = 2. Operand
-
- Ausgabe: DX:AX = Ergebnis
-
- ----------------------------
- ModLongInt
-
- Funktion: Ermittelt den Rest einer Division zweier Longint-Werte
-
- Eingabe: DX:AX = 1. Operand
- CX:BX = 2. Operand
-
- Ausgabe: CF = 0 ->> okay
- DX:AX = Rest der Division
- CF = 1 ->> Fehler
- 2. Operand war 0
- Keine Überprüfung auf Überlauf!
-
- ----------------------------
- MulLongInt
-
- Funktion: Multipliziert zwei Longint-Werte
-
- Eingabe: DX:AX = 1. Operand
- CX:BX = 2. Operand
-
- Ausgabe: DX:AX = Ergebnis
- Keine Überprüfung auf Überlauf!
-
- ----------------------------
- DivLongInt
-
- Funktion: Dividiert zwei Longint-Werte
-
- Eingabe: DX:AX = 1. Operand
- CX:BX = 2. Operand
-
- Ausgabe: CF = 0 ->> okay
- DX:AX = Ergebnis
- CX:BX = Rest
- CF = 1 ->> Fehler
- 2. Operand ist 0
-
-