I think it's the "Context Saving".
If the PIC has 2K or more of program space, PBP automatically includes a routine to save the W reg, STATUS, PCLATH.
You're using a 16F877A, which has more than 2k.
So this section
Code:
; Uncomment the following if the device has less than 2k of code space
movwf wsave ; Save W
swapf STATUS, W ; Swap STATUS to W (swap avoids changing STATUS)
clrf STATUS ; Clear STATUS
movwf ssave ; Save swapped STATUS
movf PCLATH, W ; Move PCLATH to W
movwf psave ; Save PCLATH
Should be commented.
hth,
Bookmarks