我很难理解中断是如何工作的。
下面的代码初始化可编程中断控制器
#define PIC0_CTRL 0x20 /* Master PIC control register address. */
#define PIC0_DATA 0x21 /* Master PIC data register address. */
/* Mask all interrupts*/
outb (PIC0_DATA, 0xff);
/* Initialize master. */
outb (PIC0_CTRL, 0x11); /* ICW1: single mode, edge triggered, expect ICW4. */
outb (PIC0_DATA, 0x20); /* ICW2: line IR0...7 -> irq 0x20...0x27. */
outb (PIC0_DATA, 0x04); /* ICW3: slave PIC on line IR2. */
outb (PIC0_DATA, 0x01); /* ICW4: 8086 mode, normal EOI, non-buffered. */
/* Unmask all interrupts. */
outb (PIC0_DATA, 0x00);
有人可以向我解释它是如何工作的:
-outb的作用(我不懂linux man)
-地址及其含义
另一个不相关的问题,我读到 outb 和 inb 用于端口映射 I/O,我们可以使用内存映射 I/O 进行输入/输出通信吗?
谢谢。