
Using the I/O Address Map
DAI12-4(FIT)GY
19
Interrupt Status
This is a port on which the interrupt status requested by the Module can be verified.
Although in this example values are assigned centered on the status concerning
interrupt levels, information on interrupt sources varies from module to module.
Figure 4.4. Interrupt Status
- Enable [D7]:
This verifies the interrupt source enabled/disabled status.
The value "1" indicates that a hardware interrupt on the controller module is enabled.
- Status [D6]:
This bit indicates an interrupt request status in the module.
When IRQ5, IRQ7, or IRQ9 is "1", this bit will also be "1".
- IRQ* [D2 - D0]:
These bits allow you to verify the interrupt level that is currently set. The current
interrupt level is indicated as "1".
Following are examples of the initialization that is performed in high-level languages:
Microsoft C
Microsoft QBASIC
IrqStatus = inp( ADR+2 );
IrqStatus = INP( ADR+2 )
Setting an Interrupt Level
Figure 4.5. Setting an Interrupt Level
- Enable [D7]:
This bit enables an interrupt source.
- IRQ* [D2 - D0]:
The interrupt level used by the module is set in these bits.
Following are examples of initialization settings that can be effected in high-level
languages:
The interrupt level to be used is assigned to IRQ5.
Microsoft C
Microsoft QBASIC
outp( ADR+2, 0x81 );
OUT ADR+2, &H81
input
+2
(02h)
Enable
Status
0
0
0
IRQ9
IRQ7
IRQ5
Interrupt Status
D7
D6
D5
D4
D3
D2
D1
D0
Starting
I/O Address
Interrupt Data
D7
D6
D5
D4
D3
D2
D1
D0
output
+2
(02h)
Enable
0
0
0
IRQ9
Data
IRQ7
Data
IRQ5
Data
0
Starting
I/O Address