64'er Extra: Speicherzellen 0 bis 1023 nach Funktionen geordnet

In den bisherigen Veröffentlichungen wurde die Bedeutung der Speicherzellen 0 bis 1023 immer nur der Reihe nach aufgeführt. Diese Art der Auflistung eignet sich zwar als Nachschlagewerk, zum Erstellen von Programmen ist sie aber äußerst ungeeignet. Die jeweils zusammengehörigen Adressen sind nämlich nicht immer hintereinander im Speicher zu finden. Deshalb stellen wir Ihnen eine Tabelle des oben genannten Adreßbereichs zur Verfügung, die, nach Funktionen geordnet, das Arbeiten mit den Seiten »0 bis 4« erleichtert.

Bandoperationen
146 $92 Zeitkonstante beim Lesen vom Band
147 $93 Flagge für LOAD oder VERIFY
150 $96 Arbeitsspeicher für Band-Leseroutinen
153 $99 Nummer des Eingabegerätes
155 $9B Fehlerkontrolle bei Bandoperationen
156 $9C Flagge für korrektes Byte vom Band
158-159 $9E-$9F Zwischenspeicher bei Kassettenoperationen
165 $A5 Zähler für Band-Synchronisierung
167 $A7 Zwischenspeicher für Kassettenroutinen
168 $A8 Bitzähler bei Band-Ein-/Ausgabe
170 $AA Zwischenspeicher für Kassettenroutinen
171 $AB Quersummenprüfung und Zähler für Band-Header
172-173 $AC-$AD Zeiger auf die Anfangsadresse für Ein-/Ausgabe
174-175 $AE-$AF Zeiger auf die Endadresse für Ein-/Ausgabe
176-177 $B0-$B1 Zeitkonstante beim Lesen vom Band
178-179 $B2-$B3 Zeiger auf den Kassettenpuffer
181 $B5 Blockangabe bei Kassettenoperationen
182 $B6 Ausgabe-Zwischenspeicher
183 $B7 Länge des File-Namens
185 $B9 Sekundär-Adresse
186 $BA Geräte-Nummer
187-188 $BB-$BC Zeiger auf Adresse des derzeitigen File-Namens
189 $BD Zwischenspeicher für Zeichen
190 $BE Blockzähler für Kassetten-Ein-/Ausgabe
191 $BF Zwischenspeicher für LOAD-Operationen vom Band
192 $C0 Sperre des Motors der Datasette
193-194 $C1-$C2 Anfangsadresse für Ein-/Ausgabe-Operationen
195-196 $C3-$C4 Zeiger auf den Anfang des Programms hinter dem Tape Header
256-318 $100-$13E Arbeitsspeicher für Fehler bei der Eingabe vom Band
Bildschirm-Cursor
9 $9 Spaltenposition des Cursors vor dem letzten TAB- oder SPC-Befehl
200 $C8 Zeiger auf das Ende der eingegebenen logischen Zeile
201-202 $C9-$CA Zeiger auf Zeilen- und Spaltenposition des letzten Zeichens einer Zeile
204 $CC Schalter für Cursor blinken
205 $CD Zähler für Blinkfrequenz des Cursors
206 $CE Bildschirmcode des Zeichens unter dem Cursor
207 $CF Flagge für Blinkzustand des Cursors
209-210 $D1-$D2 Zeiger auf den Anfang der Bildschirmzeile, auf der der Cursor gerade steht
211 $D3 Position des Cursors innerhalb einer logischen Zeile
214 $D6 Nummer der echten Zeile, in der sich der Cursor gerade befindet
647 $287 Zeichenfarbe unter dem Cursor
Bildschirm-Farbe
243-244 $F3-$F4 Position des Cursors im Farbspeicher
646 $286 Aktuelle Farbe der Zeichen (Vordergrundfarbe)
647 $287 Zeichenfarbe unter dem Cursor
Bildschirm-Zeichen
199 $C7 Flagge für reverse Darstellung der Zeichen
206 $CE Bildschirmcode des Zeichens unter dem Cursor
212 $D4 Flagge für Gänsefuß-Modus
215 $D7 Zwischenspeicher für den ASCII-Codewert der zuletzt gedrückten Taste
216 $D8 Flagge für Insert-Modus
Bildschirm-Zeilen
200 $C8 Zeiger auf das Ende der eingegebenen logischen Zeile
201-202 $C9-$CA Zeiger auf Zeilen- und Spaltenposition des letzten Zeichens einer Zeile
209-210 $D1-$D2 Zeiger auf den Anfang der Bildschirmzeile, auf der der Cursor gerade steht
211 $D3 Position des Cursors innerhalb einer logischen Zeile
213 $D5 Länge der Bildschirmzeile
214 $D6 Nummer der echten Zeile, auf der sich der Cursor gerade befindet
217-242 $D9-$F2 Link-Tabellen der Bildschirm-Zeilen
658 $292 Flagge für Scrollen
Data (siehe READ)
Datei
152 $98 Anzahl der offenen Dateien
153 $99 Nummer des Eingabe-Gerätes
154 $9A Nummer des Ausgabe-Gerätes
183 $B7 Länge des derzeitigen Datei-Namens
184 $B8 Nummer der derzeitigen Datei
185 $B9 Derzeitige Sekundär-Adresse
186 $BA Derzeitige Gerätenummer
187-188 $BB-$BC Zeiger auf Adresse des derzeitigen Datei-Namens
601-610 $259-$262 Tabelle der Datei-Nummern
611-620 $263-$26C Tabelle der Geräte-Nummern
621-630 $26D-$276 Tabelle der Sekundär-Adressen
DIM
11 $B Anzahl der Dimensionen von Feldern (Arrays)
12 $C Flagge für Basic-Routinen, die ein Feld suchen beziehungsweise aufbauen
Eingabe-Puffer
7 $7 Suchzeichen zur Prüfung von Basic-Texteingabe
8 $8 Suchzeichen speziell für Befehlsende und Gänsefüße
11 $B Flagge für den Eingabe-Puffer
512-600 $200-$258 Basic Eingabe-Puffer
Einschalten/Reset (beeinflußte Adressen)
0-2 $0-$2 Sprungbefehl und wählbare Sprungadresse beim USR-Befehl (nur VC 20)
3-4 $3-$4 Vektor auf die Routine zur Umwandlung einer Gleitkommazahl in eine ganze Zahl mit Vorzeichen
5-6 $5-6 Vektor auf die Routine zur Umwandlung einer ganzen Zahl in eine Gleitkommazahl
19 $13 Flagge zur Kennzeichnung des laufenden Ein-/Ausgabegerätes
22 $16 Zeiger auf freien Speicherplatz im String Descriptor Stack
43-44 $2B-$2C Zeiger auf Anfang der Basic-Programme im Speicher
45-46 $2D-$2E Zeiger auf Anfang der Variablen im Speicher (nur bei Reset)
51-52 $33-$34 Zeiger auf die untere Grenze des Speicherbereichs für den Text der Zeichenketten-Variablen
55-56 $37-$38 Zeiger auf das Ende des für Basic-Programme verfügbaren Speichers
122-123 $7A-$7B Teil der CHRGET-Routine
139-143 $8B-$8F Wert der RND-Funktion als Gleitkommazahl
153 $99 Nummer des Eingabe-Gerätes
154 $9A Nummer des Ausgabe-Gerätes
160-162 $A0-$A2 Interne Uhr für TI und TI$ (nur beim Einschalten)
178-179 $$B2-$B3 Zeiger auf den Kassetten-Puffer
195-196 $C3-$C4 Zeiger auf den Anfang des Programms hinter dem Tape Header
256-511 $100-$1FF Stapelspeicher (Stack)
641-642 $281-$282 Zeiger auf den Anfang des Programmspeichers
643-644 $283-$284 Zeiger auf das Ende des Programmspeichers
646 $286 Aktuelle Farbe der Zeichen (Vordergrundfarbe)
648 $288 Beginn des Bildschirmspeichers
655-656 $28F-$290 Vektor auf die Routine der Tastencode-Tabellen
784-786 $310-$312 nur C 64, identisch mit 0-3 beim VC 20
788-819 $314-$333 Indirekte Sprungvektoren auf Routinen des Betriebssystems
END
57-58 $39-$3A Nummer der laufenden Basic-Programmzeile
59-60 $3B-$3C Zeilennummer der letzten Programmunterbrechung
61-62 $3D-$3E Zeiger auf die Adresse, ab der der Text der laufenden Basic-Zeile gespeichert ist.
Felder (Arrays)
11 $B Anzahl der Dimensionen von Feldern (Arrays)
12 $C Flagge für Basic-Routinen, die ein Feld suchen beziehungsweise aufbauen
16 $10 Flagge zur Anzeige eines Variablenfeldes oder einer selbstdefinierten Funktion
47-48 $2F-$30 Zeiger auf die Anfangsadresse des Speicherbereichs für Felder (Arrays)
49-50 $31-$32 Zeiger auf die Endadresse des Speicherbereichs für Felder (Arrays)
FN
16 $10 Flagge zur Anzeige eines Variablenfeldes oder einer selbstdefinierten Funktion
78-79 $4E-$4F Zeiger auf die Adresse, ab der der Wert der Variablen einer selbst definierten Funktion gespeichert ist
FOR-NEXT
47-48 $2F-$30 Zeiger auf die Anfangsadresse des Speicherbereichs für Felder (Arrays)
57-58 $39-$3A Nummer der laufenden Basic-Programmzeile
73-74 $49-$4A Zwischenspeicher für Variable einer FOR-NEXT-Schleife
FRE
49-50 $31-$32 Zeiger auf die Endadresse des Speicherbereichs für Felder (Arrays)
51-52 $33-$34 Zeiger auf die untere Grenze des Speicherbereichs für den Text der Zeichenketten-Variablen
Garbage Collection
15 $F Flagge bei LIST, Garbage Collection und Textumwandlung
49-50 $31-$32 Zeiger auf die Endadresse des Speicherbereichs für Felder (Arrays)
51-52 $33-$34 Zeiger auf die untere Grenze des Speicherbereichs für den Text der Zeichenketten-Variablen
83 $53 Flagge für Garbage Collection
GET
17 $11 Flagge für INPUT, GET oder READ
19 $13 Flagge zur Kennzeichnung des laufenden Ein-/Ausgabegerätes
67-68 $43-$44 Zeiger auf die Adresse, aus der die Befehle INPUT, GET und READ die Zeichen/Zahlen holen
GET#
19 $13 Flagge zur Kennzeichnung des laufenden Ein-/Ausgabegerätes
153 $99 Nummer des Eingabegerätes
Gleitkomma
3-4 $3-$4 Vektor auf die Routine zur Umwandlung einer Gleitkommazahl in eine ganze Zahl mit Vorzeichen
5-6 $5-6 Vektor auf die Routine zur Umwandlung einer ganzen Zahl in eine Gleitkommazahl
97-102 $61-$66 Gleitkomma-Akkumulator Nummer 1
104 $68 Überlauf-Speicher des Gleitkomma-Akkumulators Nummer 1
105-110 $69-$6E Gleitkomma-Akkumulator Nummer 2
111 $6F Flagge für Vorzeichenvergleich der Gleitkomma-Akkumulatoren 1 und 2
112 $70 Rundungsspeicher des Gleitkomma-Akkumulators Nummer 1
255 $FF Zwischenspeicher für Daten bei der Umwandlung von Gleitkommazahlen in ASCII-Werte
256-266 $100-$10A Arbeitsspeicher für Umwandlung von Gleitkommazahlen in ASCII-Werte
778-779 $30A-$30B Indirekter Sprungvektor auf die Basic-Routine, die einen numerischen Ausdruck in eine Gleitkommazahl umwandelt
GOTO
20-21 $14-$15 Zeilennummmer für LIST, GOTO, GOSUB und ON
57-58 $39-$3A Nummer der laufenden Basic-Programmzeile
INPUT
17 $11 Flagge für INPUT, GET oder READ
67-68 $43-$44 Zeiger auf die Adresse, aus welcher die Befehle INPUT, GET und READ die Zeichen/Zahlen holen
INPUT#
19 $13 Flagge zur Kennzeichnung des laufenden Ein-/Ausgabegerätes
153 $99 Nummer des Eingabegerätes
INST
212 $D4 Flagge für Gänsefuß-Modus
216 $D8 Flagge für INSERT-Modus
Interrupt mit BREAK
57-58 $39-$3A Nummer der laufenden Basic-Programmzeile
170 $AA Zwischenspeicher für Kassettenroutinen
663 $297 RS232 Status Register
790-791 $316-$317 Vektor auf die BREAK-Interrupt-Routine
Interrupt mit IRQ
671-672 $29F-$2A0 Zwischenspeicher für den IRQ-Vektor während Kassetten-Ein-/Ausgabe
788-789 $314-$315 Vektor auf die IRQ-Interrupt-Routine
Interrupt mit NMI
792-793 $318-$319 Vektor auf die NMI-Interrupt-Routine
Kassettenpuffer
166 $A6 Zähler der bearbeiteten Bytes im Kassettenpuffer
178-179 $B2-$B3 Zeiger auf den Kassettenpuffer
828-1019 $33C-$3FB Kassettenpuffer
LIST
15 $F Flagge bei LIST, Garbage Collection und Textumwandlung
20-21 $14-$15 Zeilennummer für LIST, GOTO, GOSUB und ON
LOAD/VERIFY
10 $A Flagge für LOAD oder VERIFY
147 $93 Flagge für LOAD oder VERIFY
172-173 $AC-$AD Zeiger auf die Anfangsadresse für Ein-/Ausgabe
174-175 $AE-$AF Zeiger auf die Endadresse für Ein-/Ausgabe
183 $B7 Länge des File-Namens
185 $B9 Sekundär-Adresse
187-188 $BB-$BC Zeiger auf Adresse des derzeitigen File-Namens
195-196 $C3-$C4 Zeiger auf den Anfang des Programms hinter dem Tape Header
816-817 $330-$331 Indirekter Sprungvektor auf die LOAD-Routine des Betriebssystems
NEXT (siehe FOR)
READ-DATA
17 $11 Flagge für INPUT, GET oder READ
63-64 $3F-$40 Zeilennummer des gerade laufenden DATA-Befehls
65-66 $41-$42 Zeiger auf die Adresse, ab der die laufenden Data-Angaben gespeichert sind
67-68 $43-$44 Zeiger auf die Adresse, aus der die Befehle INPUT, GET und READ die Zeichen/Zahlen holen
75-76 $4B-$4C Zwischenspeicher für Zeiger bei READ und bei mathematischen Operationen
Reset (siehe Einschalten)
RND
139-143 $8B-$8F Wert der RND-Funktion als Gleitkomma-Zahl
RS232-Schnittstelle
167 $A7 Zwischenspeicher für Eingabe über die RS232-Schnittstelle
168 $A8 Bitzähler für RS232-Eingabe
169 $A9 RS232 Flagge für Startbit-Prüfung
170 $AA RS232 Eingabespeicher
171 $AB Parityprüfung
181 $B5 RS232 Anzeige für nächstes Bit
182 $B6 Ausgabe-Zwischenspeicher für RS232
189 $BD Zwischenspeicher für RS232 Parity-Prüfung
247-248 $F7-$F8 Zeiger auf den Anfang des RS232 Eingabe-Puffers
249-250 $F9-$FA Zeiger auf den Anfang des RS232 Ausgabe-Puffers
659 $293 RS232 Steuerregister
660 $294 RS232 Befehlsregister
661-662 $295-$296 RS232 frei wählbare Baudrate
663 $297 RS232 Statusregister
664 $298 RS232 Anzahl der zu übertragenden Bits
665-666 $299-$29A Zeit, die zum Übertragen eines Bits gebraucht wird
667 $29B Index auf das Ende des RS232 Eingabe-Puffers
668 $29C Index auf den Anfang des RS232 Eingabe-Puffers
669 $29D Index auf den Anfang des RS232 Ausgabe-Puffers
670 $29E Index auf das Ende des RS232 Ausgabe-Puffers
SAVE
172-173 $AC-$AC Zeiger auf die Anfangsadresse für Ein-/Ausgabe
174-175 $AE-$AF Zeiger auf die Endadresse für Ein-/Ausgabe
818-819 $332-$333 Indirekter Sprungvektor auf die SAVE-Routine des Betriebssystems
Serielle Schnittstelle
148 $94 Flagge für Floppy/Drucker Ausgabe
149 $94 Zeichen für Ausgabepuffer
163-164 $A3-$A4 Zwischenspeicher
172-173 $AC-$AD Zeiger auf die Anfangsadresse für Ein-/Ausgabe
174-175 $AE-$AF Zeiger auf die Endadresse für Ein-/Ausgabe
193-194 $C1-$C2 Anfangsadresse für Ein-/Ausgabe-Operationen
SIN
18 $12 Flagge für Vorzeichen des Ergebnisses bei SIN und TAN
Speicherbelegung
43-44 $2B-$2C Zeiger auf den Anfang der Basic-Programme im Speicher
45-46 $2D-$2E Zeiger auf die Anfangsadresse des Speicherbereichs für Variable
47-48 $2F-$30 Zeiger auf die Anfangsadresse des Speicherbereichs für Felder (Arrays)
49-50 $31-$32 Zeiger auf die Endadresse +1 des Speicherbereichs für Felder (Arrays)
51-52 $33-$34 Zeiger auf die untere Grenze des Speicherbereichs für den Text der String-Variablen
53-54 $35-$36 Zeiger auf die Adresse des zuletzt eingegebenen Strings
55-56 $37-$38 Zeiger auf das Ende des für Basic-Programme verfügbaren Speichers
641-642 $281-$282 Zeiger auf den Anfang des Programmspeichers
643-644 $283-$284 Zeiger auf das Ende des Programmspeichers
648 $288 Beginn des Bildschirmspeichers
Speicher zur freien Verfügung
146-150 $92-$96 nur, wenn Datasette nicht benutzt wird
163-177 $A3-$B1 nur, wenn Datasette oder RS232-Schnittstelle nicht benutzt wird
247-250 $F7-$FA nur wenn RS232-Schnittstelle nicht benützt wird
251-254 $FB-$FE
659-670 $293-$29E nur, wenn die RS232-Schnittstelle nicht benutzt wird
671-672 $29F-$2A0 nur, wenn Datasette nicht benutzt wird
673-678 $2A1-$2A6 nur beim VC 20
679-767 $2A7-$2FF
784-787 $310-$313 nur beim VC 20
820-827 $334-$33B
828-1019 $33C-$3FB nur, wenn Datasette nicht benutzt wird
1020-1023 $3FC-$3FF
ST(atus)
144 $90 Statusvariable ST
663 $297 RS232-Statusregister
Stapelspeicher (Stack)
319-511 $13F-$1FF Speicherbereich des Mikroprozessor-Stapels
STOP
57-58 $39-$3A Nummer der laufenden Basic-Programmzeile
59-60 $3B-$3C Zeilennummer der letzten Programmunterbrechung
145 $91 Zwischenspeicher für Abfrage der STOP-Taste
808-809 $328-$329 Indirekter Sprungvektor auf die STOP-Routine des Betriebssystems
Strings
22 $16 Zeiger auf freien Speicherplatz im String Descriptor Stack
23-24 $17-$18 Zeiger auf die Adresse der letzten Zeichenkette im Temporary String Stack
25-23 $19-$21 Descriptor Stack für vorläufige Zeichenketten
51-52 $33-$34 Zeiger auf die untere Grenze des Speicherbereichs für den Text der String-Variablen
53-54 $35-$36 Zeiger auf die Adresse des zuletzt eingegebenen Strings
80-82 $50-$52 Zeiger auf einen vorläufigen Speicherplatz einer Zeichenkette, die gerade bearbeitet wird
SYS
780 $30C Speicher für den Akkumulator
781 $30D Speicher für das X-Register
782 $30E Speicher für das Y-Register
783 $30F Speicher für das Status(P)-Register
TAN
18 $12 Flagge für Vorzeichen des Endergebnisses bei SIN und TAN
Tastatur
145 $91 Zwischenspeicher für Abfrage der STOP-Taste
197 $C5 Tasten-Code der zuletzt gedrückten Taste
198 $C6 Anzahl der Zeichen im Tastaturpuffer
203 $CB Tasten-Code der gerade gedrückten Taste
208 $D0 Flagge für Eingabe von Tastatur oder Bildschirm
245-246 $F5-$F6 Vektor auf die Decodiertabelle für ASCII-Codewerte der Tasten
631-640 $277-$280 Tastaturpuffer
649 $289 Maximale Länge des Tastaturpuffers
650 $28A Flagge für Tastenwiederholung
651 $28B Zähler für Wiederholgeschwindigkeit der Tasten
652 $28C Zähler für die Ansprechzeit der Wiederholfunktion von Tasten
653 $28D Tastencode der SHIFT-, CTRL- und Commdore-Taste
654 $28E Tastencode der zuletzt gedrückten SHIFT-, CTRL- und Commodore-Taste
655-656 $28F-$290 Vektor auf die Routine der Tastencode-Tabellen
657 $291 Flagge für Verriegelung der Zeichensatz-Umschaltung
Token
8 $8 Suchzeichen speziell für Befehlsende und Gänsefüße
11 $B Anzahl der Dimensionen von Feldern (Arrays)
15 $F Flagge bei LIST, Garbage Collection und Textumwandlung
61-62 $3D-$3E Zeiger auf die Adresse, ab welcher der Text der laufenden Basic-Zeile abgespeichert ist
122-123 $7A-$7B Teile der CHRGET-Routine
512-600 $200-$258 Basic Eingabe-Puffer
772-773 $304-$305 Indirekter Sprungvektor auf die Basic-Routine, die ASCII-Text in Tokens umwandelt
774-775 $306-$307 Indirekter Sprungvektor auf die Basic-Routine, die Tokens in ASCII-Text zurückwandelt (List)
776-777 $308-$309 Indirekter Sprungvektor auf die Basic-Routine, die den nächsten Befehl liest und ausführt
Uhr
160-162 $A0-$A2 Interne Uhr für TI und TI$
USR
784-786 $310-$312 nur C 64: Sprungbefehl und wählbare Sprungadresse des USR-Befehls
0-2 $0-2 nur VC 20: Sprungbefehl und wählbare Sprungadresse des USR-Befehls
Variable
13 $D Flagge zur Bestimmung des Variablentyps (String oder Zahl)
14 $E Flagge zur Bestimmung des Variablentyps (ganze Zahl oder Gleitkomma-Zahl)
45-46 $2D-$2E Zeiger auf die Anfangsadresse des Speicherbereichs für Variable
47-48 $2F-$30 Zeiger auf die Anfangsadresse des Speicherbereichs für Felder (Array)
49-50 $31-$32 Zeiger auf die Endadresse +1 des Speicherbereichs für Felder (Arrays)
51-52 $33-$34 Zeiger auf die untere Grenze des Speicherbereichs für den Text der String-Variablen
53-54 $35-$36 Zeiger auf die Adresse des zuletzt eingegebenen Strings
69-70 $45-$46 Name der gerade aufgerufenen Basic-Variablen
71-72 $47-$48 Zeiger auf die Adresse des Wertes der gerade aufgerufenen Basic-Variablen
73-74 $49-$4A Zwischenspeicher für Variable einer FOR-NEXT-Schleife und für diverse Basic-Befehle
Vektoren für indirekte Sprünge
768-779 $300-$30B Vektoren auf Routinen des Basic-Übersetzers (Interpreters)
794-819 $31A-$333 Vektoren auf Routinen des Betriebssystems (Kernel)
(Dr. H. Hauck/ah)
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →