001
29.09.2025, 11:15 Uhr
jennergruhle
|
Ich habe dazu dies gefunden: https://rostfrank.de/rt/lex09/z80cpu/interrupt.htm
Zitat: "Die Anforderung des Prozessorbusses durch das Steuersignal BUSRQ dient zur Ausführung einer DMA-Operation. Dieser direkte Speicherzugriff kann nach jedem abgearbeiteten Maschinenzyklus in die Programmbearbeitung eingeschoben werden, wenn das interne BUSRQ-Flipflop zuvor gesetzt wurde. Der Zustand dieses Flipflops wird in Abhängigkeit vom Signal am BUSRQ-Eingang der CPU während der steigenden Flanke des letzten Taktes eines jeden Maschinenzyklus ermittelt.
Im Gegensatz hierzu erfolgt die Auswertung der Zustände der Interruptflipflops (NMI-Flipflop, INT-Flipflop) nur am Ende des letzten Maschinenzyklus eines vollständig abgearbeiteten Befehls. Falls zu diesem Zeitpunkt ebenfalls eine Busanforderung vorliegt, wird diese vorrangig abgearbeitet."
Also vermute ich, dass deine Annahme korrekt ist: nach beendetem Bus-Request erfolgt sofort die Annahme der NMI-Anforderung (NMI-Flipflop wurde gesetzt, und ausgeführt wird der NMI-Zyklus dann als erster noch vor anderen Befehlen). |