Adresse in Hex. | Inhalt / Funktion |
---|---|
0000 |
16 Register für Interruptebene 0 (normale Ausführung) |
0020 |
16 Register für Interruptebene 1 (Async. comm.) |
0040 |
16 Register für Interruptebene 2 (Tape/Disk/Printer/Serial I/O) |
0060 |
16 Register für Interruptebene 3 (Tastatur) |
0055 |
Printer Status Byte A
Bit 1: Print emitter latch 2 Bit 2: Print emitter latch 1 Bit 3: Wire check or not ready Bit 4: Forms emitter B Bit 5: Forms emitter A Bit 6: Not end of forms Bit 7: Left margin signal |
0057 |
Printer Status Byte B
Bit 1: Print motor latch A (0 = not A) Bit 2: Print emitter interrupt Bit 3: Not ready interrupt Bit 4: Forms motor latch B (0 = not B) Bit 5: Forms motor latch A (0 = not A) Bit 6: Forms control interrupt Bit 7: Timer interrupt |
0082 |
Zwischenspeicher für Diskette I/O Supervisor (Sicherung der Rücksprungadresse in R2 für interne Unterprogramme) |
008F |
Tape Status Byte
Bit 1: No device address E response Bit 2: Tape running Bit 3: Cartridge in place Bit 4: Erase on Bit 5: LED and erase OK Bit 6: File protected Bit 7: No beginning of tape (BOT) |
0090 |
Interne Variable für I/O Supervisor Diskette:
Bit 1: Bit 2: ? Bit 3: 1=MFM Bit 4: ? Bit 5: Bit 6: Bit 7: ? |
009A |
Interne Variable für I/O Supervisor Diskette: Zylinder für I/O |
009C |
Interne Variable für I/O Supervisor Diskette: Seite für I/O (0=Seite 0, ungleich 0=Seite 1) |
009E |
Interne Variable für I/O Supervisor Diskette: Sektor für I/O |
00A0 |
Konstante $0000 |
00A2 |
System-Flags
Bit 1: Bit 2: Bit 3: Bit 4: Bit 5: Bit 6: Bit 7: Bit 8: Bit 9: Bit 10: Bit 11: Bit 12: Bit 13: Bit 14: 1=In Hexdump-Routine Bit 15: |
00A4 |
System-Flags
Bit 1: Bit 2: Bit 3: 1=Tastaturinterrupt ohne Key Pending Flag Bit 4: Bit 5: 1=APL, 0=BASIC Bit 6: 1=I/O active Bit 7: 1=CRT on, 0=CRT off Bit 8: Level 0 Modus - 1=RWS, 0=ROS Bit 9: Level 1 Modus - 1=RWS, 0=ROS Bit 10: Level 2 Modus - 1=RWS, 0=ROS Bit 11: Level 3 Modus - 1=RWS, 0=ROS Bit 12: Druckerstatus - 1=Drucker arbeitet, 0=Drucker ruht Bit 13: Druckerstatus - ??? Bit 14: Druckerstatus - ??? Bit 15: (1=Übersetze Scancode?) |
00A6 |
Adresse der Routine für Gerätetest Testet, ob ein angegebenes Gerät (über IOCB) vorhanden und bereit ist. R2 = Rücksprungadresse, R3 = Adresse IOCB Wenn Gerät bereit, dann Rücksprung nach R2+2, sonst Ausgabe von "ERROR 0xx yyy" in Zeile 16 und Rücksprung nach R2. |
00A8 |
Höchste verfügbare RWS-Adresse. Nach Neustart gleicher Wert wie in $00AA; nach Laden von IMFs oder Customer Support Routines verringert sich der Wert. |
00AA |
Letzte vorhandene Adresse im R/W Storage (RAM). Hier steht, wo der Hauptspeicher aufhört. Bei einem 32kB-Rechner steht hier z.B. 7FFF. |
00AC |
Adresse der Routine zum Sprung ins Executable ROS R2 = Rücksprungadresse, R8 = Zieladresse im ROS, evtl. weitere Parameter je nach aufzurufender Funktion |
00AE |
Adresse der I/O Supervisor Routine im Executable ROS, die alle I/O-Operationen über einen IOCB ausführt. |
00B0 |
Scan- oder Tastencode der zuletzt gedrückten Taste |
00B6 |
|
00BE |
Adresse der ersten frei verwendbaren Speicherstelle, i.d.R. gleich $0700. Bei ($BE)-$20 ist der Systemcode 'IBM5100 ' (insg. 13 Zeichen) zu finden, wie er für das Inhaltsverzeichnis auf Diskette gebraucht wird. Vorsicht: Diverse ROS-Routinen benutzen den Bereich als Zwischenspeicher bzw. für interne Variablen! Z.B. liegt ab $07C0 die Vektortabelle mit den Supervisorroutinen. |
00C0 |
Adresse der Screen Dump Routine im Executable ROS Diese Routine wird z.B. durch die Tastenkombination CMD-Print aufgerufen. |
00D2 |
Zwischenspeicher für Diskette I/O Supervisor Rücksprungadresse zum Aufrufer des I/O Supervisors |
00D6 |
(IMF Flags)
|
00D8 |
Adresse der Vektortabelle mit den Einsprungadressen in den I/O Supervisor, für Geräteadressen 0 bis F. Jeder Tabelleneintrag besteht aus zwei Worten, das erste Wort ist die Adresse der systemeigenen I/O Routine, das zweite Wort, wenn ungleich Null, die einer benutzerdefinierten Routine im RWS. |
00E6 |
$0F40 |
00E8 |
Diskette Status Byte A
Bit 1: Read mode Bit 2: Diagnostic mode Bit 3: Index Bit 4: Erase gate Bit 5: Diskette 2 Bit 6: CRC error Bit 7: Read/write overrun |
00E9 |
Diskette Status Byte B
Bit 1: MFM mode Bit 2: Filter control Bit 3: Current select Bit 4: Head engaged Bit 5: Head selected (0 = head 0) Bit 6: Access line Bit 7: Access line |
00F8 |
$1000 |
00FA |
$100A Adresse der Fehlermeldungsroutine im ROS, welche ERROR 0xx yyzzin der untersten Zeile ausgibt. Parameter: R3=Adresse IOCB, Rücksprung über R2 |
00FC |
Adresse der HOLD-Routine |
00FE |
$0D00 Adresse der Hexdump-Routine |
01BC |
Adresse des ersten Patches bzw. LASTMEM+1 |
01C0 |
$0501 |
01C2 |
$0202 |
01C4 |
$0503 |
01C6 |
$0204 |
01F0 |
$1DFA ROS-Routine, die den Bildschirm bis zum Ende löscht. Parameter: R14=Startadresse, Rücksprung in R2 |
01F2 |
$1D4A ROS-Routine, die Hexziffern in Integer umwandelt Parameter: R14=Adresse der Hexziffern, Ergebnis in R15 |
01F4 |
$1C7C |
01F8 |
$1CF6 |
0200 |
Bereich des Bildschirmspeichers, insgesamt 1kB. |
0600 |
Hilfsroutinen in Maschinensprache Bei $0600 liegt z.B. die Sprungroutine ins Executable-ROS (und zurück), bei $0630 (zumindest beim 5110) die Gerätetest-Routine. |
0B00 |
Lade- und Startadresse für Maschinenprogramme |
0B42 |
Adressen der IOCBs für Dateinummern FL0 bis FL9 im BASIC-Modus |
120E |
Beginn des BASIC-Programms in Token-Form |