Two questions: 1) I'm working with FSR and INDF to write/read several bytes (50) to a memory area, but i'd like to reserve this area, so when the included files declare other variables there are no conflicts in run time. So, how can it be done? (if it can) I think the best way is not doing this: cblock 0x40 VAR0 VAR1 . . . VAR49 endc 2) Again, using FSR and INDF I read 50 bytes coming from serial port, wait a bit and then send these bytes over a packet radio. The problem is that if i assemble the radio packet using VAR0, VAR1, VAR2.....it works, but not with a loop through the memory. I think there is an issue to be concerned when using FSR about saving its state before calling a function, but I don't know how to deal with it. So this is what I want to do: prepara_pacote_loop: incf RAM_INDEX_R,1 movf RAM_INDEX_R,0 movwf FSR movf INDF,0 call Packet_Send decfsz RAM_COUNTER,1 goto prepara_pacote_loop call Packet_End call delay goto loop And this is the horrible code that works: movf VAR0,0 call Packet_Send movf VAR1,0 call Packet_Send movf VAR2,0 call Packet_Send call Packet_End call delay Many thanks in advance. []s Rafael. -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.