📄 t8259-1.c
字号:
//T8259-1.c
//8259中断查询方式应用实验
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <bios.h>
#include <ctype.h>
#include <process.h>
void key(void);
void IR0Isr(void);
void IR1Isr(void);
//****************根据查看配置信息修改下列符号值*******************
#define IOY0 0x9C00
//*****************************************************************
#define MY8259_ICW1 IOY0 + 0x00*4
#define MY8259_ICW2 IOY0 + 0x01*4
#define MY8259_ICW3 IOY0 + 0x01*4
#define MY8259_ICW4 IOY0 + 0x01*4
#define MY8259_OCW1 IOY0 + 0x01*4
#define MY8259_OCW2 IOY0 + 0x00*4
#define MY8259_OCW3 IOY0 + 0x00*4
void main()
{
int i,j;
outp(MY8259_ICW1, 0x13);
outp(MY8259_ICW2, 0x08);
outp(MY8259_ICW4, 0x01);
outp(MY8259_OCW1, 0xFC);
while(1)
{
key();
outp(MY8259_OCW3, 0x0C);
i = j = inp(MY8259_OCW3);
if((i & 0x80) == 0x80)
{
j &= 0x03;
if(j == 0x00)
IR0Isr();
else
IR1Isr();
}
}
}
void IR0Isr(void)
{
printf("0 ");
outp(MY8259_OCW2, 0x20);
}
void IR1Isr(void)
{
printf("1 ");
outp(MY8259_OCW2, 0x20);
}
void key(void)
{
if (bioskey(1) != 0)
{
exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -