/* Handhaben des sio-Interrupts */ /* Datei: sioint3.c */ #include "sio1.h" #define COMUSED 2 isra oldint; volatile int got_int = 0,test[4] = { 0,0,0,0 }; int sioadr[4] = { 0x3f8,0x2f8,0x3e8,0x2e8 }; int sioint[4] = { 4, 3, 4, 3 }, comindex; volatile unsigned long count = 0; void installint (int comno) { oldint = getvect(sioint[comno] +8); setvect(sioint[comno] +8, shandler); } void restoreint(int comno) { setvect (sioint[comno]+8, oldint); } int main () { int i; comindex = COMUSED -1; installint (comindex); while (!kbhit()) {if (got_int) { got_int = 0; printf ("\r%06ld",count); } } printf ("\nZõhler ist %ld",count); restoreint(comindex); for (i = 0; i < 4; i++) printf ("\nTEST: = %d-Werte %d",i,test[i]); return 0; }