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,