Speicheradresse

Aus C64-Wiki
(Weitergeleitet von Speicherbereich)
Zur Navigation springenZur Suche springen

Eine Speicheradresse (allgemein auch Speicherstelle genannt) zeigt auf bzw. adressiert ein Byte im Adressraum einer CPU oder anderen Chips.

Beim C64 besitzt die CPU MOS 6510 einen 16bittigen Adressbus und kann somit 216=65536 Adressen direkt ansprechen. Eine Speicheradresse kann tatsächlich auf RAM, ROM oder auch ein Register eines anderen Chips abgebildet sein. Eine Übersicht gibt der sogenannte Speicherbelegungsplan.

Auf jede einzelne Speicheradresse kann entweder in BASIC mit POKE (schreibend), PEEK (lesend) sowie per WAIT (Überwachung von Speicheradressen) zugegriffen werden oder mittels SYS und USR ein Maschinenspracheprogramm an einer bestimmten Speicheradresse zur Ausführung gebracht werden. Ebenso ermöglichen spezielle Programme wie ein Maschinensprachemonitor oder ein Assembler mit entsprechender Programmierung den unmittelbaren, systemnahen Zugang zu Speicherstellen in allen Speicherkonstellationen.

Mehrere Speicheradressen werden als Speicherbereich zusammengefasst. Während BASIC-Programme im Speicherbereich 2048-40959 ($0800-$9FFF) für den Direktmodus sichtbar im Speicher stehen, können Assembler- bzw. Maschinenspracheprogramme in jeden der RAM-Bereiche hineingeschrieben bzw. -geladen werden. Ein solches steht dort nicht unmittelbar sichtbar im Speicher und wird erst mit einem Programmstart, z.B. mit SYS <Speicheradresse>, aktiv. Um die Funktion des C64 bzw. der bereits aktiven Software wie KERNAL und BASIC-Interpreter nicht zu beeinträchtigen, werden in der Regel die freien Speicherbereiche wie z.B. 49152-53247 ($C000-$CFFF) genutzt.