|
Modul-Entry |
B: Beschreibung, I: Eingabe-, O: Ausgabeparameter |
|
ADD32.MAC |
ADD32 |
B: |
Addition zweier Zahlen |
|
I: |
Registerpaar BC zeigt auf erste Zahl, Paar DE auf zweite und Paar HL auf Ergebnis |
|
O: |
Summe in Ergebnis abgelegt. Bei Überlauf ist die Carry Flag gesetzt. |
|
SUB32.MAC |
SUB32 |
B: |
Subtraktion zweier Zahlen |
|
I: |
Registerpaar BC zeigt auf erste Zahl, Paar DE auf Subtrahenden und Paar HL auf Ergebnis |
|
O: |
Differenz in Ergebnis abgelegt. Bei Überlauf ist die Carry Flag gesetzt. |
|
MUL32.MAC |
MUL32 |
B: |
Multiplikation zweier Zahlen |
|
I: |
Registerpaar BC zeigt auf erste Zahl, Paar DE auf zweite und Paar HL auf Ergebnis |
|
O: |
Produkt in Ergebnis abgelegt. Bei Überlauf ist die Carry Flag gesetzt. |
|
DIV32.MAC |
DIV32 |
B: |
Division zweier Zahlen |
|
I: |
Registerpaar BC zeigt auf Dividenden, Paar DE auf Divisor und Paar HL auf Ergebnis |
|
O: |
Quotient in Ergebnis abgelegt. Bei Überlauf oder Division durch Null ist die Carry Flag gesetzt. |
|
MOD32.MAC |
MOD32 |
B: |
Ermitteln des Restes zweier 32 Bit Zahlen |
|
I: |
Registerpaar BC zeigt auf Dividenden, Paar DE auf Divisor und Paar HL auf Ergebnis |
|
O: |
Rest in Ergebnis abgelegt. Bei Überlauf, negativem Divisor oder Division durch Null ist die Carry Flag gesetzt. |
|
NEG32.MAC |
NEG32 |
B: |
Negation einer Zahl |
|
I: |
Registerpaar HL zeigt auf die Zahl |
|
O: |
Zahl negiert |
|
SHL32.MAC |
SHL32 |
B: |
Links schieben einer Zahl |
|
I: |
Registerpaar HL zeigt auf die Zahl |
|
O: |
Zahl um eine Stelle nach links geschoben |
|
SHR32.MAC |
SHR32 |
B: |
Rechts schieben einer Zahl |
|
I: |
Registerpaar HL zeigt auf die Zahl |
|
O: |
Zahl um eine Stelle nach rechts geschoben |
|
DIN32.MAC |
DIN32 |
B: |
Umwandlung einer Zeichenkette in eine vorzeichenlose 32 Bit Zahl |
|
I: |
Registerpaar DE zeigt auf die Zeichenkette, HL zeigt auf die ganze Zahl und Register B hält das Endzeichen der Kette. Steht in Register B -1, dann wird die Wandlung beim ersten nicht-numerischen Zeichen beendet. |
|
O: |
Resultat in der ganzen Zahl abgelegt. Bei Zahlenfehler oder Überlauf ist die Carry Flag gesetzt. Das Registerpaar zeigt auf das nächste Zeichen hinter der Zahl |
|
SIN32.MAC |
SIN32 |
B: |
Umwandlung einer Zeichenkette in eine 32 Bit Zahl mit Vorzeichen |
|
I: |
Registerpaar DE zeigt auf die Zeichenkette, HL zeigt auf die ganze Zahl und Register B hält das Endzeichen der Kette. Steht in Register B -1, dann wird die Wandlung beim ersten nicht-numerischen Zeichen beendet. |
|
O: |
Resultat in der ganzen Zahl abgelegt. Bei Zahlenfehler oder Überlauf ist die Carry Flag gesetzt. Das Registerpaar zeigt auf das nächste Zeichen hinter der Zahl |
|
DOUT32.MAC |
DOUT32 |
B: |
Wandlung einer vorzeichenlosen 32 Bit Zahl in eine Zeichenkette |
|
I: |
Registerpaar DE zeigt auf die Zeichenkette, HL zeigt auf die ganze Zahl und Register B hält das Endzeichen der Kette |
|
O: |
Zeichenkette abgeschlossen mit Zeichen in Register B. Das Registerpaar HL zeigt auf den Abschluss |
|
SOUT32.MAC |
SOUT32 |
B: |
Wandlung einer 32 Bit Zahl mit Vorzeichen in eine Zeichenkette |
|
I: |
Registerpaar DE zeigt auf die Zeichenkette, HL zeigt auf die ganze Zahl und Register B hält das Endzeichen der Kette |
|
O: |
Zeichenkette abgeschlossen mit Zeichen in Register B. Das Registerpaar HL zeigt auf den Abschluss |
|
C1632.MAC |
C1632 |
B: |
Expandieren einer 16 Bit Zahl in eine 32 Bit Zahl mit Vorzeichen |
|
I: |
Registerpaar HL hält die 16 Bit Zahl, Registerpaar DE zeigt auf die 32 Bit Zahl |
|
O: |
32 Bit Zahl aus 16 Bit Zahl konstruiert |
|
C3216.MAC |
C3216 |
B: |
Verkürzen einer 32 Bit Zahl in eine 16 Bit Zahl |
|
I: |
Registerpaar DE zeigt auf die 32 Bit Zahl |
|
O: |
Registerpaar HL hält die 16 Bit Zahl |
|
C32FL.MAC |
C32FL |
B: |
Wandeln einer 32 Bit Zahl in eine Fließkommazahl |
|
I: |
Registerpaar DE zeigt auf die 32 Bit Zahl, HL zeigt auf die Fließkommazahl |
|
O: |
Fließkommazahl konstruiert aus ganzer Zahl |
|
CFL32.MAC |
CFL32 |
B: |
Wandeln einer Fließkommazahl in eine 32 Bit Zahl |
|
I: |
Registerpaar HL zeigt auf die 32 Bit Zahl, DE zeigt auf die Fließkommazahl |
|
O: |
Ganze Zahl konstruiert aus Fließkommazahl. Carry Flag gesetzt bei nicht möglicher Konvertierung |
|
Die bisherigen Routinen sind die für die Programmierschnittstelle.
Die folgenden Routinen sind die internen, von den obigen Routinen aufgerufenen Module.
|
|
|
ADDI32.MAC |
$ADD32 |
B: |
Addition zweier Zahlen |
|
I: |
Register HL und BC halten die zweite Zahl. Die erste Zahl liegt auf dem Stack. |
|
O: |
Register HL und BC halten die Summe. Bei Überlauf ist die Carry Flag gesetzt. |
|
SUBI32.MAC |
$SUB32 |
B: |
Subtraktion zweier Zahlen |
|
I: |
Register HL und BC halten die zweite Zahl. Die erste Zahl liegt auf dem Stack. |
|
O: |
Register HL und BC halten die Differenz. Bei Überlauf ist die Carry Flag gesetzt. |
|
MULI32.MAC |
$MUL32 |
B: |
Multiplikation zweier Zahlen |
|
I: |
Register HL und BC halten die zweite Zahl. Die erste Zahl liegt auf dem Stack. |
|
O: |
Register HL und BC halten das Produkt. Bei Überlauf ist die Carry Flag gesetzt. |
|
DIVI32.MAC |
$DIV32 |
B: |
Division zweier Zahlen |
|
I: |
Register HL und BC halten die zweite Zahl. Die erste Zahl liegt auf dem Stack. |
|
O: |
Register HL und BC halten den Quotienten. Bei Überlauf oder Division durch Null ist die Carry Flag gesetzt. |
|
MODI32.MAC |
|
B: |
Ermitteln des Restes zweier 32 Bit Zahlen |
|
I: |
Register HL und BC halten die zweite Zahl. Die erste Zahl liegt auf dem Stack. |
|
O: |
Register HL und BC halten den Rest. Bei Überlauf, negativem Divisor oder Division durch Null ist die Carry Flag gesetzt. |
|
SHLI32.MAC |
$SHL32 |
B: |
Links schieben einer Zahl |
|
I: |
Registerpaar IX zeigt auf die Zahl |
|
O: |
Zahl um eine Stelle nach links geschoben |
|
SHRI32.MAC |
$SHR32 |
B: |
Rechts schieben einer Zahl |
|
I: |
Registerpaar IX zeigt auf die Zahl |
|
O: |
Zahl um eine Stelle nach rechts geschoben |
|
NEGI32.MAC |
$NEG32 |
B: |
Negation einer Zahl |
|
I: |
Register HL und BC halten die Zahl. |
|
O: |
Register HL und BC halten die negative Zahl. |
|
OP32.MAC |
$OP32 |
B: |
Register laden und Operation ausführen |
|
I: |
Registerpaar BC zeigt auf erste Zahl, Paar DE auf zweite Zahl und Paar HL hält die Adresse der auszuführenden Routine. Auf dem Stack liegt die Adresse des Ergebnisses |
|
O: |
Angeforderte Operation wird ausgeführt |
$LOD32 |
B: |
Laden einer 32-Bit Zahl |
|
I: |
Register HL zeigt auf die Zahl |
|
O: |
Register DE und BC halten die Zahl |
$STO32 |
B: |
Speichern einer 32-Bit Zahl |
|
I: |
Register DE und BC halten die Zahl, Register HL zeigt auf die Speicheradresse |
|
O: |
Zahl unter Speicheradresse abgelegt. |
|
FIX32.MAC |
$FIX32 |
B: |
Interne Routine für Division und Modulo |
|