| 
 'express asynchronous Der Kernel - Software-Interrupts: Eventsevents' (Port B - Input: &F5xx: Bits 1, 2 und 3: Port C - Output: &F6xx: Bit 6 und 7:Bit 6 und Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bit 7 gesetzt) sind Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupts der Dringlichkeitsstufe Eins: Nur bei solchen Ereignissen wird die zugehörige Behandlungs-Routine SOFORT aufgerufen, sobald der MAIN FIRMWARE JUMPBLOCK: KERNEL Die Firmware des Schneider CPC: KERNELKernel ihr Eintreffen erkannt hat, und nicht erst in die 'asynchronous pending queue' eingereiht. Nur diese Der Kernel - Software-Interrupts: EventsEvents werden noch bei ausgeschaltetem Hardware-Interrupt bearbeitet. Das hat mehrere Konsequenzen: 
So sollte die Behandlungs-Routine so kurz wie überhaupt nur möglich sein. ROM-Konfiguration: RestartsRestarts etc. dürfen nicht benutzt werden, weil die allesamt Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupts wieder zulassen würden. 
Deshalb darf man für express asynchrone Der Kernel - Software-Interrupts: EventsEvents auch keine 'far address' angeben: Die würde ja mittels ROM-Konfiguration: RestartsRestart 3 aufgerufen! Hier darf man nur eine 'near address', ohne Angabe der Die Speicherkonfiguration im Schneider CPC: ROM-KonfigurationROM-Konfiguration benutzen. Damit muss die Behandlungs-Routine gezwungenermassen im zentralen RAM (oder Betriebssytem-ROM) liegen. 
Allgemein gilt für asynchrone Der Kernel - Software-Interrupts: EventsEvents, dass sie die meisten Routinen des Betriebssystems nicht aufrufen dürfen, weil diese nicht re-entrant (vielfach aufrufbar) sind. 
Für die Behandlungs-Routinen aller Der Kernel - Software-Interrupts: EventsEvents gelten die folgen Ein- und Aussprungs-Bedingungen (Achtung: Die Angaben hierzu im Die Firmware des Schneider CPCFirmware Manual stimmen nicht!): 
    Ein/Ausgabe-Bedingungen für jede Event-Behandlungs-Routinen
    ------------------------------------------------------------
    (1) 'near address': Eingaben:    DE zeigt auf Datentypen: Bytes Datenbreite: BytesByte 5 des BCEF: KL INIT EVENT: EventblockEventblocks. Evtl.
                                     benötigte Variablen: lokale Variablenlokale Variablen für die
                                     Routine liegen ab Datentypen: Bytes Datenbreite: BytesByte 7, also ab DE+2.
                        Ausgaben:    IX und IY dürfen nicht verändert werden.
 
    (2) 'far address':  Eingaben:    HL zeigt auf Datentypen: Bytes Datenbreite: BytesByte 4 des BCEF: KL INIT EVENT: EventblockEventblocks. Evtl.
                                     benötigte Variablen: lokale Variablenlokale Variablen liegen also ab
                                     HL+3. Bei Speicheraufteilung durch ein Vordergrund-Programm: Hintergrund-ROMsHintergrund-ROMs zeigt IY auf die
                                     Unterkante des über Die Aufteilung des RAM durch den Basic-Interpreter: Chaos über HIMEMHIMEM für das Erläuterung zu den Anschlüssen 40 bis 45: 42 - ROMEN (0)ROM
                                     reservierten Speicherbereiches.
                        Ausgaben:    IX und IY dürfen nicht verändert werden.
 |