Скачиваний:
26
Добавлен:
15.09.2014
Размер:
1.33 Кб
Скачать
   #include<dos.h>
   #include<stdio.h>
   #include<conio.h>
   int flag=0;
   void interrupt (far *old9);//save old intrrupt
   void interrupt new9();//new interrupt
   void far* readvect(int in);
   void writevect(int in,void far*  h);
   union REGS rr;
   struct SREGS sr;
   void main()
   {
    old9=readvect(9);
    writevect(9,new9);
    int b=0,a=0,c=0,ind=5;
    for(int i=0;i<20;i++)
    {
    ind=5;
    if(!b) b=7;
    do{
	do{
	a=inp(0x64);
	a=a&2;
	}while(a!=0);
	outp(0x60,0x0ed);
	flag=0;
	while(flag==0) ;
	ind--;
	c=inp(0x60);
	printf("\t\t%x",c);
       if(!ind)
		{
		 printf("ERROR");
		 return;
		}
    }while(c!=0x0fa);
    ind=5;
    do{
	do{
	a=inp(0x64);
	a=a&2;
	}while(a!=0);
	outp(0x60,b);
	flag=0;
	while(flag==0) ;
		ind--;
		c=inp(0x60);
		printf("\t\t%x",c);
		if(!ind)
		{
		 printf("ERROR");
		 return;
		}
	}while(c!=0x0fa);
	b--;
	sleep(1);
    }
    writevect(9,old9);
    sleep(4);
   }
   void interrupt new9()
   {
    flag=1;
    outp(0x20,0x20);
   }
   void far* readvect(int in)
   {
   rr.h.ah=0x35;rr.h.al=in;
   intdosx(&rr,&rr,&sr);
   return MK_FP(sr.es,rr.x.bx);
   }
   void writevect(int in,void far *h)
   {
   rr.h.ah=0x25;rr.h.al=in;sr.ds=FP_SEG(h);
   rr.x.dx=FP_OFF(h);intdosx(&rr,&rr,&sr);
   }
Соседние файлы в папке АВМиС