|
Modul-Entry |
B: Beschreibung, I: Eingabe-, O: Ausgabeparameter |
|
SWITCH.MAC |
SWITCH |
B: |
Indizierter Unterprogrammaufruf |
|
I: |
Akku hält Wert (Zeichen) für Suche in Tabelle. Das Registerpaar HL zeigt auf diese Tabelle
DB ZEICHEN1
DW ADRESSE1
.. ..
DB -1
DW FEHLER
|
|
O: |
Sprung auf die entsprechende Routine des dazugehörigen Zeichens. Die Routine muss mit einer RET Anweisung abgeschlossen sein. |
|
JMPTAB.MAC |
JMPTAB |
B: |
Indizierter Sprung |
|
I: |
Akku hält Wert (Zeichen) für Suche in Tabelle. Direkt hinter dem Aufruf muss sich die Adresse auf eine Tabelle befinden
Byte 0 : | Anzahl der Zeichen in der Tabelle |
Byte 1 : | Zeichen 1 |
| .. |
Byte n : | Zeichen n |
Wort 1 : | Adresse der Routine für Zeichen n |
| .. |
Wort n : | Adresse der Routine für Zeichen 1 |
|
CALL JMPTAB
DW TABELLE
|
|
|
O: |
Sprung auf die entsprechende Routine oder weiter mit Instruktion hinter Tabellenzeiger, falls keine Zeichenübereinstimmung vorliegt |
|
CALTAB.MAC |
CALTAB |
B: |
Indizierter Unterprogrammaufruf |
|
I: |
Akku hält Wert (Zeichen) für Suche in Tabelle. Direkt hinter dem Aufruf muss sich die Adresse auf eine Tabelle befinden (wie im Modul JMPTAB ) |
|
O: |
Unterprogrammsprung auf die entsprechende Routine oder weiter mit Instruktion hinter Tabellenzeiger, falls keine Zeichenübereinstimmung vorliegt |
|
CALJMP.MAC |
@CALJP |
B: |
Hauptroutine für Module CALTAB und JMPTAB |
|
MOVE1.MAC |
MOVE23.MAC |
MOVE1 |
B: |
Verschieben von Quelle zur Senke |
MOVE2 |
I: |
Levelabhängig |
MOVE3 |
O: |
Registerpaar HL zeigt auf letztes Byte der Quelle, Registerpaar DE zeigt auf erstes Byte hinter der Senke |
|
COMP1.MAC |
COMP23.MAC |
COMP1 |
B: |
Vergleich von Quelle und Senke |
COMP2 |
I: |
Levelabhängig |
COMP3 |
O: |
Zeroflag nicht gesetzt falls Vergleich nicht übereinstimmt. Bei gleichen Werten ist Zeroflag gesetzt |
|
CMPITM.MAC |
CMPITM |
B: |
Vergleich einer Zeichenkette mit einem Datenfeld variabler Länge |
|
I: |
Registerpaar HL zeigt auf das Datenfeld, dessen Elemente jeweils mit der Länge beginnen und dessen letzte Eintragung eine Null sein muss. Registerpaar DE zeigt auf die zu suchende Zeichenkette, dessen Länge im Register C enthalten sein muss. |
|
O: |
Zeroflag nicht gesetzt falls Vergleich nicht übereinstimmt. Bei gleichen Werten ist Zeroflag gesetzt |
|
CMPCON.MAC |
CMPCON |
B: |
Vergleich einer Zeichenkette mit einem Datenfeld fester Länge |
|
I: |
Registerpaar HL zeigt auf das Datenfeld, dessen letzte Eintragung eine Null sein muss. Registerpaar DE zeigt auf die zu suchende Zeichenkette und Register C hält die Länge der Elemente im Datenfeld |
|
O: |
Zeroflag nicht gesetzt falls Vergleich nicht übereinstimmt. Bei gleichen Werten ist Zeroflag gesetzt |
|
FTCHOP.MAC |
@FTCOP |
B: |
Hilsprogramm für Module MOVE1 und COMP1 |
|
INDEXA.MAC |
INDEXA |
B: |
Indizierte Adresse aus Tabelle laden |
|
I: |
Akku hält Index und Registerpaar HL hält den Start der Tabelle |
|
O: |
Registerpaar DE hält 16 Bit Wert aus indizierter Tabelle, Registerpaar HL hält Adresse auf indiziertes Element |
|
MEMMOV.MAC |
MEMMOV |
B: |
Speicher kopieren mit Test, ob genügend Speicher vorhanden ist. |
|
I: |
Register HL zeigt auf Quelle, Register DE zeigt auf Senke und Register BC hält Anzahl zu kopierender Bytes.
Vor Aufruf sind folgende Inhalte festzulegen:
MEMMOV-2 : | | Adresse einer Fehlermeldung für Konsolausgabe (Voreinstellung 0000H, keine Fehlermeldung) |
MEMMOV-4 : | | Adresse, die auf höchste Speicheradresse zeigt (Voreinstellung 0006H, TPA Obergrenze) |
MEMMOV-6 : | | Adresse einer Routine, auf die nach einem Fehler verzweigt wird (Voreinstellung 0000H, Warmstart) |
|
|
O: |
--- |
|
BOUND.MAC |
BOUND |
B: |
Adresse auf Seitenanfang setzen |
|
I: |
Registerpaar HL hält beliebige Adresse (0xAAAA ) |
|
O: |
Registerpaar HL hält Adresse auf Seitenanfang (0xAA00 ) |
|
RAND8.MAC |
RAND8 |
B: |
8 Bit Zufallszahl erzeugen |
|
I: |
|
|
O: |
Akku hält Zufallszahl mit der Periode 256 |
|
RAND16.MAC |
RAND16 |
B: |
16 Bit Zufallszahl erzeugen |
|
I: |
|
|
O: |
Registerpaar HL hält Zufallszahl mit der Periode 65536 |
|