On Wed, 30 Jul 1997 19:26:29 -0700 Ravindra Divekar writes: >I want to use the FSR register as a data pointer on 16C84. > >i.e. > if FSR = h'0c', > > movf @fsr,w ( correct syntax) > >should load data in h'0c' into w. > >What is the syntax for this in MPASM (using MPLAB) ? Instead of '@FSR' use INDF. INDF is a directly accessable special function register that causes an indirect access. In a 14-bit PIC like the 16C84, register 0 has a special function, it always holds a copy of the data in the register pointed to by register 4. (actually, register 0 doesn't exist, attempting to access it triggers address substitution logic that uses the contents of register 4 as the address instead) Microchip calls register 4 "FSR" (File Select Register) and register 0 "INDF" (INDirect File) and equates them as such in the .inc file for the particular chip in use. So to read register 0c into W indirectly, use: movlw h'0c' movwf FSR ;Point FSR at RAM 0c movfw INDF ;or "movf INDF,w" - Get byte @FSR -Mike