

	public void OS_init()
	{
		D.D0_DIR = 1;
		D.D0_OUT = 0;
		
		L.D0_DIR = 1;
		L.D0_OUT = 0;
		
		C.D0_DIR = 1;
		C.D0_OUT = 0;
	}
	
	void send_byte( uint8 data )
	{
		loop( 8 ) {
			D.D0_OUT = data.7(bit);
			data << 1;
			C.D0_OUT = 1;
			C.D0_OUT = 0;
		}
		L.D0_OUT = 1;
		L.D0_OUT = 0;
	}
	
	//---------------------------------------------
	void set_uint8( uint8 addr, uint8 b )
	{
		if( b != 0 ) {
			back_data | ( 0b0000_0001 << addr );
		}
		else {
			back_data & ~( 0b0000_0001 << addr );
		}
		send_byte( back_data );
	}
	
	//---------------------------------------------
	uint8 get_uint8( uint8 addr )
	{
		if( back_data & ( 0b0000_0001 << addr ) != 0 ) {
			return 1;
		}
		else {
			return 0;
		}
	}
	
	
	