home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / d / dec92.zip / 1012022A < prev    next >
Text File  |  1992-10-13  |  597b  |  25 lines

  1.     struct port_data {
  2.         int uart_address;
  3.         int head_pointer;
  4.         int tail_pointer;
  5.         char buffer[ 1024 ];
  6.     };
  7.  
  8.     void far interrupt isr()
  9.     {
  10.         unsigned char c;
  11.         int space_used;
  12.  
  13.         c = ( unsigned char ) inp( port.uart_address );
  14.         space_used = port.head_pointer - port.tail_pointer;
  15.         if ( space_used < 0 )
  16.             space_used += 1024;
  17.         if ( space_used < 1023 ) {
  18.             port.buffer[ port.head_pointer++ ] = c;
  19.             port.head_pointer &= 1023;
  20.         }
  21.         outp( 0x20, 0x20 );
  22.     }
  23.  
  24.  
  25.