ctr

DeMon48_128k

Intel 8049 (8048, 8748, 8749, 8035, 8039) / MCS-48 Hardware-Debugger & Monitor

Dokumentation - Kapitel 5


5.0.0 Speicherkonfigurationen

5.1.0 Jumper

Jmp1 bis Jmp5 haben folgende Funktion :

JumperGesetztNicht gesetzt
Jmp1Schreibzugriff auf Bank-Register via PROG möglich
128kB Speicher adressierbar
Nutzung der 8243 port-expander nicht möglich
Schreibzugriff auf Bank-Register via PROG nicht möglich
4kB Programm- & 4kB Daten-Speicher adressierbar
Nutzung der 8243 port-expander möglich
Jmp2Memory-mapped I/O aktiviertMemory-mapped I/O nicht aktiviert
Jmp3I/O in oberen 64k(*), wenn DA16=1
I/O in unteren 64k(*), wenn DA16=0
I/O nur in oberen 64k(*) (0x1FD00...0x1FDFF)
Jmp4I/O in 4k/8k memory-map möglichI/O in 4k/8k memory-map nicht möglich
Jmp5Pos. 1-2 : DBL ist Teil der MMU
Pos. 2-3 : DBL ist gleich P2.0 ... P2.3
Zugriff auf DBL nicht möglich (DBL = 0x00)

(*) Untere 64k = 0x00000...0x0FFFF; Obere 64k = 0x10000...0x1FFFF

5.2.0 DA16 (Data Address 16)

Mit "DA16" kann unabhängig vom Zugriffsziel L-Pegel auf A16 erzwungen werden, daher gilt :

DA16System-Architektur
1Harvard-Architektur (128kB Speicher adressierbar; getrennte Speicherbereiche für Programm und Daten)
0Von-Neumann-Architektur (64kB Speicher adressierbar; Programm und Daten teilen sich denselben Speicherbereich)

5.3.0 Modes

Indem Jmp1 bis Jmp4 gesetzt oder nicht gesetzt sind, werden folgende Modes konfiguriert :

ModeJmp1Jmp2Jmp3Jmp4DA16Memory Map
1Nicht gesetztNicht gesetztWirkungslosWirkungslosN/A(*)1
2Nicht gesetztGesetztWirkungslosGesetztN/A(*)2
3GesetztNicht gesetztWirkungslosWirkungslos13
3GesetztNicht gesetztWirkungslosWirkungslos04
4GesetztGesetztNicht gesetztNicht gesetzt15
4GesetztGesetztNicht gesetztNicht gesetzt04
5GesetztGesetztGesetztNicht gesetzt15
5GesetztGesetztGesetztNicht gesetzt06

(*) Auf DA16 kann nicht zugegriffen werden, wenn Jmp1 nicht gesetzt ist. DA16 bleibt im Initialisierungszustand '1'.

5.4.0 Memory Maps

Die durch Jumper konfigurierten Hardware-Modes in Verbindung mit dem unter Programmkontrolle stehenden DA16-Signal ergeben beispielsweise folgende Speicheraufteilungen (memory maps) :

Memory MapBeschreibung
14kByte Programm- + 4kByte Daten-Speicher
24kByte Programm- + 3.75kByte Daten-Speicher, 256x memory-mapped I/O
364kByte Programm- + 63.5kByte Daten-Speicher
464kByte gemeinsamer Programm-/Daten-Speicher (*)
564kByte Programm- + 63.25kByte Daten-Speicher, 256x memory-mapped I/O
663.75kByte gemeins. Programm-/Daten-Speicher (*), 256x memory-mapped I/O

(*) ermöglicht gewöhnlich unmögliche Schreib-/Lese-Operationen im Programmspeicher, bspw. um Programme mit Hilfe einer auf dem MCS-48 µC selbst laufenden Software zu laden.

5.4.1 Memory Map 1

Start(hex)Ende(hex)TypGröße(dez)
0000000FFFProgramm4096
1000010FFFDaten4096
1FE001FFFFReserviert512

5.4.2 Memory Map 2

Start(hex)Ende(hex)TypGröße(dez)
0000000FFFProgramm4096
1000010CFFDaten3328
10D0010DFFI/O256
10E0010FFFDaten512
1FE001FFFFReserviert512

5.4.3 Memory Map 3

Start(hex)Ende(hex)TypGröße(dez)
000000FFFFProgramm65536
100001FDFFDaten65024
1FE001FFFFReserviert512

5.4.4 Memory Map 4

Start(hex)Ende(hex)TypGröße(dez)
000000FFFFProgramm+Daten65536
1FE001FFFFReserviert512

5.4.5 Memory Map 5

Start(hex)Ende(hex)TypGröße(dez)
000000FFFFProgramm65536
100001FCFFDaten64768
1FD001FDFFI/O (*)256
1FE001FFFFReserviert512
(*) I/O wenn Bit3 des Expansion-Registers der MMU nicht gesetzt ist, sonst : Daten

5.4.6 Memory Map 6

Start(hex)Ende(hex)TypGröße(dez)
000000FCFFProgramm+Daten64768
0FD000FDFFI/O (*)256
0FE000FFFFProgramm+Daten512
1FE001FFFFReserviert512
(*) I/O wenn Bit3 des Expansion-Registers der MMU nicht gesetzt ist, sonst : Programm+Daten