Herunterladen Inhalt Inhalt Diese Seite drucken

Interrupt-Maskenregister; Interrupt-Vektor - Siemens Simatic S5 PG 730 Systemhandbuch

Inhaltsverzeichnis

Werbung

Systemhandbuch
10.1.2

Interrupt-Maskenregister

Die einzelnen Interrupts können vom Anwender über die Interrupt-Maskenregister der
Interrupt-Controller gesperrt bzw. freigegeben werden. Die I/O-Adresse des
Maskenregisters vom Master-Controller lautet 21 H, vom Slave-Controller A1 H. Auf die
Register kann nach dem Systemanlauf mit den Assembler-Befehlen IN bzw. OUT
zugegriffen werden. Hat ein Bit im Interrupt-Maskenregister den Wert "1", so ist der
zugehörige Interrupt gesperrt. Eine "0" im Maskenregister gibt den entsprechenden
Interrupt frei.
Bit 7
Bit 6
Bit 5
IRQ 7
IRQ 6
IRQ 5
Interrupt-Maskenregister (Master INTC1) Adresse 21 H
Bit 7
Bit 6
Bit 5
IRQ 15
IRQ 14
IRQ 13
Interrupt-Maskenregister (Slave INTC2) Adresse 0A1 H
Hinweis:
Das Interrupt-Maskenregister kann auch vom Betriebssystem oder der
Firmware einiger Erweiterungsbaugruppen umdefiniert und dabei die
vom Benutzer gesetzte Maske verändert werden.
Um Konflikte (z.B. System-Stillstand) zu vermeiden, sollten die Eingrif-
fe in das Interrupt-System auf das Lesen/Schreiben von Interrupt-Mas-
ken beschränkt bleiben. Eigene Interrupt-Handler sollten nur über die
Interrupt-Vektortabelle eingebunden werden. Keinesfalls sollte man die
Interrupt-Controller umparametrieren.
10.1.3

Interrupt-Vektor

Die Vektortabelle (Interrupt-Sprungliste) beginnt standardmäßig bei der absoluten
Adresse 20 H (IRQ 0). Dort ist für jeden der 16 Interrupts ein 4-byte-Vektor abgelegt.
Die Speicherreihenfolge lautet "Offset-Adresse/Segment-Adresse". Jeder Hardware-
Interrupt (IRQ) kann auch per Software über den INT-Befehl mit dem in der Tabelle
zugeordneten Vektor erreicht werden.
Ein Anwenderprogramm mit eigenem Interrupt-Handler, kann dessen Startadresse
(Offset- und Segment-Adresse) in die Interrupt-Sprungliste schreiben. Bei einem
C79000-B8500-C073-01
Bit 4
Bit 3
Bit 2
IRQ 4
IRQ 3
IRQ 2
Bit 4
Bit 3
Bit 2
IRQ 12
IRQ 11
IRQ 10
Interrupt-Behandlung
Bit 1
Bit 0
IRQ 1
IRQ 0
Bit 1
Bit 0
IRQ 9
IRQ 8
10 - 3

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis