15.1.1.1 FSR Read
The FSRs are used to provide read access to program memory.
Program memory is accessed by loading the FSRxH:FSRxL register pair with the address to
be read and setting bit 7 of the FSRxH register to ‘1
’. When a
MOVIW
instruction, or any instruction that accesses INDFx, is
executed, the value loaded into the FSRx register pair points to the location in program
memory to be accessed. If the FSRx register pair points to an INDFx register, the read
will return ‘0
’.
Reading from NVM requires one instruction cycle. The CPU operation is suspended during the read and resumes immediately after. Read operations return a single byte of memory.