Apple ][ Speicher

Der Apple ][ hat noch keine MMU (Memory Management Unit). Seine 64KB waren per Konvention verteilt.

Adresse Inhalt
$0000 - $00FF Zero-Page
$0100 - $01FF 6502-Stack
$0200 - $02FF Keyboardbuffer
$0300 - $03FF
$0400 - $07FF Videobereich für Text und LoRes
$0800 - &BF00 BASIC-Programme
$C000 - $CFFF I/O-Bereich
$D000 - $F7FF BASIC-ROM
$F800 - $FFFF Monitor-ROM

Damit ist ein 48KB Apple beschrieben. Die restlichen 16KB eines 64KB-Apples befinden sich parallel zum ROM.

Zero-Page ($0000-$00FF)

Die Zero-Page ist der Speicherbereich von 0 bis 256. Für die Adressierung wird das Highbyte nicht benötigt. Diese Adressen sind für den 6502 von besonderer Bedeutung. Aus diesem Grund liegen hier viele systemrelevante Informationen.

6502-Stack ($0100-$01FF)

Die CPU hat hier ihren Stackbereich. Mit 256 Byte ist dieser nicht gerade gewaltig. Da aber keine Parameter auf den Stack gelegt werden und nur 2 Byte für jede Rücksprungadresse gebraucht werden, reicht dieser Bereich für 128 verschachtelte Unterprogrammaufrufe in Assembler.

Keyboardbuffer ($0200-$02FF)

Dieser Bereich wird von BASIC als Zeilenpuffer verwendet. Für Assemblerprogrammierer also ein meist freier Bereich. Einige kleine Utilities legen sich in den oberen Bereich in der Annahme, dass niemand ernsthaft 256 Zeichen eingibt.

$0300-$03FF

Hier ist ein 256-Byte Speicherbereich, der nicht belegt ist. Hier residieren viele Utilities, die BASIC ein paar Aufgaben abnehmen sollen. Das Problem ist, dass nur eines dieser Programme hier gleichzeitig geladen werden kann und jeder Assemblerprogrammierer diese Adresse kennt.

Text und LoRes


Computer-Oldies Apple II Bedienung und Programmierung E-Mail