I dropped in a segment of your configuration setup and still not even a simple toggle of an I/O port. I don't see the problem


@ device HS_OSC, LVP_OFF, WDT_OFF
; @ Device pic16F877A, HS_OSC, BOD_OFF, PWRT_ON, WDT_ON, PROTECT_OFF

DEFINE OSC 20
' Set Debugin pin port
DEFINE DEBUGIN_REG PORTC
DEFINE DEBUG_BAUD 4800
' Set Debugin pin bit
DEFINE DEBUGIN_BIT 7
' Set Debugin mode: 0 = true, 1 = inverted
DEFINE DEBUGIN_MODE 1

DEFINE INTHAND myint

' Configure internal registers


TRISD = %00000000
TRISC = %00000000
CMCON = %00000111 ' Comparators OFF to allow inputs on pins
PIE1 = %00000001 ' enable TMR1 overflow interrupt
PIE2 = %00000000
PIR2 = %00000000


T1CON = %00100000 ' stop TMR1
PIR1.0 = 0 ' clear bit 0 TMR1 interrupt flag
TMR1H = $8C
TMR1L = $A0 ' loads 36000 - gives 24 mS on CRO
T1CON = %00100001 ' start TMR1



wsave VAR BYTE $70 system ' Saves W
ssave VAR BYTE bank0 system ' Saves STATUS
psave VAR BYTE bank0 system ' Saves PCLATH
fsave VAR BYTE bank0 system ' Saves FSR


servo1 VAR byte bank0
servo2 VAR byte bank0
servo3 VAR byte bank0
servo4 VAR byte bank0

chksum1 var byte bank0
chksum var byte bank0

sv01 var byte bank0
sv02 var byte bank0
sv03 var byte bank0
sv04 var byte bank0

portc.0=0
goto mainloop


asm

; Save W, STATUS and PCLATH registers, if not done previously
myint movwf wsave
swapf STATUS, W
clrf STATUS
movwf ssave
movf PCLATH, W
movwf psave



; Save and restore FSR and any other registers used

bCf portc.0

movf 127,w
movwf _servo1
movwf _servo2
movwf _servo3
movwf _servo4

; Restore saved registers
movf psave, W
movwf PCLATH
swapf ssave, W
movwf STATUS
swapf wsave, F
swapf wsave, W

retfie ; Return from interrupt

endasm



mainloop:
pause 100
portc.0=1
goto mainloop