Gast
#3811249
Das I-Flag wird vom Interrupt automatisch gesetzt, vom RETI-Befehl rueckgesetzt. Aber was bringt mir das?
|
Anzeige
|
Wofür ist das I-Flag beim 8051 gut?
Gast
#3811249
Das I-Flag wird vom Interrupt automatisch gesetzt, vom RETI-Befehl rueckgesetzt. Aber was bringt mir das?
Gast
#3811302
Die Flags werden auch bei gesperrten Interrupts gesetzt. Es wird dann aber keine ISR ausgeführt und es kommt kein RETI. Du kannst also darauf pollen und musst die Flags selbst löschen. Schwimmbadpinkler schrieb: > Das I-Flag wird vom Interrupt automatisch gesetzt, vom RETI-Befehl > rueckgesetzt. Aber was bringt mir das? Der 8051 hat kein I-Flag. Wenn Du das EA-Bit meinst, das wird nur in SW beeinflußt. Das RETI beeinflußt nur die Prioritätslogik, deren Bits sind aber nicht von außen zugreifbar. Ich kenne das Interrupt-disable-Flag beim 6502. Das arbeitet wie beschrieben und soll verhindern, dass während einer Interruptbehandlung noch ein Interrupt dazwischenfuhrwerkt. Man kann z.B. innerhalb einer längeren Interruptroutine das I-Flag aber zurücksetzen und damit eine Ausführung eines kurzen oder wichtigeren Interrupts erlauben, das Programm sollte nach dessen RETI zur ersten Interruptroutine zurückspringen. 6502 != 8051 Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|