//
//	Возвращает значение регистра счетчика канала 0 таймера 8254.
//

typedef unsigned int	Int ;
typedef unsigned long	Long ;

Int timer0( void )
{
	 //	outp( 0x43, 0x00 ) ;	     // Запомнить счетчик канала 0 .
	asm {
				Xor		AX, AX		   //  AL = 0 - код команды.
				Out		0x43, AL	   //  Вывести в порт 043h.
// ;
// ;		Int i = inp( 0x40 ) ;	   // Прочитать младший байт счетчика.
// ;
				In		AL, 0x40	   //  Ввести из порта 040h.
				Mov    AH, AL
// ;
// ;
// ;		return i+( inp( 0x40 ) << 8 ) ;   // Прочитать и добавить старший байт.
// ;
				In		AL, 0x40	   //  Ввести старший байт счетчика.
				Xchg	AL, AH		   //  Теперь AH = старший, AL = младший.
			} ;
}


