NEW INSTRUCTION!!

I borrow from the reference manual:


4.4 Indirect Addressing, INDF and FSR Registers

The INDF register is not a physical register. Addressing
the INDF register will cause indirect addressing.
Indirect addressing is possible by using the INDF
register. Any instruction using the INDF register
actually accesses data pointed to by the File Select
Register (FSR). Reading INDF itself indirectly will
produce 00h. Writing to the INDF register indirectly
results in a no-operation (although Status bits may be
affected). An effective 9-bit address is obtained by
concatenating the 8-bit FSR register and the IRP bit
(STATUS<7>), as shown in Figure 4-5.
A simple program to clear RAM location 20h-2Fh using
indirect addressing is shown in Example 4-1.


EXAMPLE 4-1: INDIRECT ADDRESSING

        movlw   0x20   ;initialize pointer
        movwf   fsr       ;to RAM
next
       clrf   indf            ;clear indf register
       incf   fsr             ; increment pointer
       btfss   fsr,4         ; all done ?
       goto next           ; no, clear next
                                 ; yes, continue

Definite exam-type questions:

use the FSR to accomplish the following:

1) clear memory locations from 0x20 to 0x55
2) to sum the contents of memory locations 0x30 through 0x45 and store in a location with symbolic name SUM
3) to clear all the even memory locations  between 0x30 and 0x46