PIC mov command question
The btfsc instruction skips the next instruction when the transmitter is not ready to accept an new byte. 

In the first snippet, this next instruction copies the data byte to the transmit register (with auto address increment). The next instruction jumps back to the btfsc.

In the second snippet, the instruction that is skipped moves the content of W to the transmit resister. That is OK, but the jump jumps back to the first instruction, which loads a new W value from memory (with auto address increment) irrespective of whether the previous value was transmitted or not.