I have tried this. My code has sprouted bank select errors like dandelions. I think there is something I dont understand about the way the memory is organized. If I set: cblock 0x10 buf1 :1 buf2 :2 buf3 :3 etc :4 endc and then call for the contents of buf2, and then say: > Or if RAM_AD_X are contigous: > movlw .2 ;choose the second buffer > movwf fsr > movlw RAM_AD_1 movlw 0x11 > addwf fsr,f > movf indf,w > then shouldnt the contents of indf be the 2 from buf2??? all it does is yell at me about being in the wrong bank. im still in bank0, am i not?? alice > . > . > > Best regards, > Reggie > > > Tony Nixon wrote: > > > > Alice Campbell wrote: > > > > > > Is there a way to load a file instead of a literal using a table: > > > > > > for example > > > a_table > > > movwf pcl > > > return-with-in-work buffer1 > > > return-with-in-work buffer2 > > > return-with-in-work buffer3 > > > return-with-in-work buffer4 > > > > > > thanks, > > > alice > > > > Maybe this.... > > > > movf Offset,w > > call RAM_AD > > movwf fsr > > movf indirect,w > > ...... > > > > RAM_AD > > addwf pcl > > retlw RAM_AD_1 > > retlw RAM_AD_2 > > retlw RAM_AD_3 > > retlw RAM_AD_4 > > > > -- > > Best regards > > > > Tony > > > > http://www.picnpoke.com > > mailto:sales@picnpoke.com