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