Thank you Bruce for the answer, now the pic is interrupting, but I have a problem reading the register right..

Code:
indirizzo:

    ric = RCREG

    
    While RCIF                   'to be sure that the register'll be empty the next time I am going to read it
       	ric2=RCREG
    Wend
    
     IF OERR = 1 Then   ' If over-run, then clear it
        CREN = 0   ' Disable receive
        CREN = 1   ' Re-enable & clear over-run condition
     EndIF
     

     'print the first 3 bit of the received char on three external leds
     PORTA.0=ric.2
     PORTB.7=ric.1
     PORTB.6=ric.0
     
     
	Write 0+X,ric           'write the received byte in the eeprom
	X=X+1  

	
	
  Resume
 Enable
I am just sending to the pic a 9-bit char like this: 1 0000 0001
the 9th bit generate the interrupt, and "ric" has to be 1.
so at the end I have to read X locations of my eeprom programmed with a "01h" byte.

in the fact I have only the 40-50% of the x locations with 01, and the others has a random-like value (FF, E9, 9b, FE......).

naturally the problem is not on writing the eeprom, because the 3 external led shows that the byte is far from "01h"!!!

I can't explain why this happens, do you?

Thanks a lot
Simone.