Zeropage
# Zeropage

Die Zeropage (also wörtlich „Seite Null“) ist ein Teil des Adressraumes einer CPU, für den es eine kompaktere Darstellung von Adressen oder bestimmter Adressierungsmodi überhaupt erst gibt. Sie stellt keinen alternativen Adressraum wie z. B. beim Zilog Z8 oder beim Sharp SC61860 dar.

## 6502

Für den Mikroprozessor MOS Technology 6502 (dessen Variante 6510 im bekannten Commodore 64 verbaut war) besteht die Zeropage aus den ersten 256 Byte des Hauptspeichers, in dem sich beim C64 RAM wie IO-Ports befinden.

Diese Zeropage ist für Maschinenprogramme dieses Prozessors von großer Bedeutung, weil manche Adressierungs-Modi nur in bzw. mit diesem Bereich angewandt werden können. Zwei aufeinanderfolgende Bytes in der Zeropage können jede beliebige Adresse bis 64 KByte darstellen (von Hex 0000 bis Hex FFFF). Dies wird bei der sogenannten indirekten Adressierung verwendet, indem sie als Basisadresse für den Zugriff auf eine andere Speicherstelle interpretiert wird.

Beispiele:

Wenn sich also in der Zeropage die Werte von Hex FE oder Hex FF (bzw. die Werte in der Sprungzieltabelle ab Hex F0) ändern, so ändert sich die absolute (oder effektive) Adresse, welche ausgelesen wird. Diese sogenannte indirekte Adressierung kann bei diesem Prozessortyp nur über die Zeropage durchgeführt werden. Die Zeropage wirkt dabei wie eine Registerbank mit 128 16-Bit-Indexregistern.

## Andere Prozessoren

Auch bei anderen Mikroprozessoren haben jene Speicherbereiche, die physikalisch gesehen am Anfang des Speichers stehen, oft eine spezielle Bedeutung, allerdings auch gänzlich andere, wie z. B. der festgelegte Ort für Reset- und Interrupt-Vektoren (beim Motorola 68000) oder der beim Reset angesprungene Programmteil (beim Zilog Z80) usw. Bei diesen Prozessoren wird dieser Speicherbereich auch nicht unbedingt als Zeropage bezeichnet.

