Hey Ace, thanks for looking it over.

As mentioned briefly above, when I cut and pasted my code, it seems a lot of the symbols didn't come across. I'll repost here:

Code:
define OSC 4
ON INTERRUPT GOTO INTCODE


DEFINE HSER_TXSTA 20h       'SET THE TRANSMIT REGISTER TO TRANSMITTER ENABLED
DEFINE HSER_BAUD 2400       'SET BAUD RATE
                            'DEFINE ADCIN PARAMETERS
Define ADC_BITS	10          'SET NUMBER OF BITS IN RESULT
Define ADC_CLOCK 3          'SET CLOCK SOURCE (3=RC)
Define ADC_SAMPLEUS 50	    'SET SAMPLEING TIME IN uS
define LOADER_USED 1

SELECTOR    VAR BYTE        'SELECTS PROGRAM TYPE
TEMP        VAR WORD        'TEMPORY VARIABLE FOR ANY USE
POSITION    VAR WORD        'POSITION OF SERVO1 1250 - 2500
OFFWIDTH    VAR WORD        'HOW LONG THE PULSE NEEDS TO BE OFF FOR
FREQ        VAR WORD        'FREQUENCY TO RUN THE SERVOS AT
PICOSC      VAR BYTE BANK0  'TO STORE OSCILLATOR FREQUENCY IN
PERIOD      VAR WORD        'TEMPORY VARIABLE TO DISPLAY THE PERIOD OF PULSE
PRESCALER   VAR WORD        'STORES THE TIMER1 PRESCALER VALUE
TMROFF      VAR WORD        'STORES THE TIME THAT THE SERVO1 PULSE WILL BE LOW
RUN         VAR BIT         'IS THE PROGRAM RUNNING?

ADCON1 = %10000010          'SET PORTA ANALOGUE AND RIGHT JUSTIFY THE RESULT

SERVO1      var PORTA.0     'OUTPUT PIN FOR SERVO1
PUSHBUTT    VAR PORTA.2     'INPUT PIN FOR PUSHBUTTON
TRISB.4 = 1                 'INPUT FOR SELECTOR SWITCH PIN 13
TRISA.0 = 0                 'MAKES PIN 19 AN OUTPUT FOR SERVO1
TRISA.2 = 1                 'MAKES PIN 17 AN INPUT FOR PUSHBUTTON

PRESCALER = 8               'DEFINES THE TIMER1 PRESCALER AS 1:8
FREQ = 50                   'CONSTANT FREQUENCY FOR THE SERVOS
RUN = 0                     'TEMPORARY VARIABLE FOR SERVO RUNNING

T1CON  = %00110001          'ENABLE X,X,PRESCALER = 8,X,X,X,TMR1ON 
INTCON     = %11001000      'ENABLE GIE,PEIE,x,x,GPIE,x,x,x
GIE         var INTCON.7
PEIE        var INTCON.6
TMR1IE      var PIE1.0
TMR1ON      var T1CON.0
TMR1IE = 1                  '
PEIE = 1                    'WHO KNOWS
GIE = 1                     'WHAT ALL OF 
PIR1.0 = 0                  'THESE DO, BUT IT 
TMR1H = 0                   'DIDN'T START 
TMR1L = 0                   'WITHOUT THEM.

GOSUB GETOSC 

MAINLOOP:
        IF PUSHBUTT = 1 THEN 
            HSEROUT ["HIGH.",13,10]
        ELSE 
            HSEROUT ["LOW",13,10]
        ENDIF
        GOSUB FINDPROGRAM
        GOSUB STARTPULSE
        'GOSUB STOPPULSE
GOTO MAINLOOP

FINDPROGRAM:                'SELECTS BETWEEN SEVERAL TYPES OF MOTION
    ADCIN 10, TEMP          'READ CHANNEL 10 TO TEMP
    IF TEMP <= 15000 THEN POSITION = 125                    'USES VOLTAGE DIVIDER TO
    IF TEMP > 15000 AND TEMP <= 22000 THEN POSITION = 150   'VARY THE VOLTAGE ON CH10.
    IF TEMP > 22000 AND TEMP <= 35000 THEN POSITION = 175   'THIS CONVERTS AND STORES
    IF TEMP > 35000 AND TEMP <= 47000 THEN POSITION = 200   'TO 'TEMP'.
    IF TEMP > 47000 AND TEMP <= 60000 THEN POSITION = 225   
    IF TEMP > 60000 THEN POSITION = 250
    GOSUB SETPULSE   
RETURN

DISABLE' INTERRUPT
INTCODE:
    IF SERVO1 = 0 THEN
        HSEROUT ["FIRST IF - POSITION: ",DEC POSITION,10]
        TMR1H = ((65535 - POSITION)/256)            'EXTRACT HIGH BYTE INTO TIMER1
        TMR1L = ((65535 - POSITION)-(TMR1H*256))    'EXTRACT LOW BYTE
        HSEROUT ["HIGH: ", DEC TMR1H," LOW: ", DEC TMR1L,10]
        SERVO1 = 1
        HSEROUT ["SERVO1: ",DEC SERVO1,10,10]
    ENDIF
    
    IF SERVO1 = 1 THEN
        HSEROUT ["SECOND IF - TMROFF: ",DEC TMROFF,10]
        TMR1H = ((65535 - TMROFF)/256)              'EXTRACT HIGH BYTE INTO TIMER1
        TMR1L = ((65535 - TMROFF)-(TMR1H*256))      'EXTRACT LOW BYTE
        HSEROUT ["HIGH: ", DEC TMR1H," LOW: ", DEC TMR1L,10,10,13]
        SERVO1 = 0
        HSEROUT ["SERVO1: ",DEC SERVO1,10,10]
    ENDIF
    INTCON.0 = 0
    PIR1.0 = 0
RESUME
ENABLE' INTERRUPT

SETPULSE:
    POSITION = POSITION MIN 250  'MIN POSITION LIMITED TO 0 DEGREES
    POSITION = POSITION MAX 125  'MAX POSITION LIMITED TO 180 DEGREES
    HSEROUT ["POSITION = ",DEC POSITION,10,13]
    TMROFF = (((((10000 / FREQ) * 10) / PRESCALER)*10) - POSITION)
    'HSEROUT ["TMROFF = ",DEC TMROFF,10,10]
    'PERIOD = TMROFF + POSITION
    'HSEROUT ["PERIOD = ",DEC PERIOD,10,10]
    
RETURN

STARTPULSE:
    HSEROUT ["PULSE STARTED",10,10]
    LOW SERVO1
    'GIE = 1             'GLOBAL INTERRUPT ENABLE
    'PEIE = 1            'PERIPHRIAL INTERRUPT ENABLE
    TMR1H = 255         'SETS TIMER1 TO 65535 
    TMR1L = 255         'NEXT TICK WILL INTERRUPT
    TMR1ON = 1
RETURN

STOPPULSE:
    HSEROUT ["PULSE STOPPED",10,10]
    LOW SERVO1
    PEIE =0
RETURN

GETOSC:

asm
    ifdef OSC
       MOVE?CB   OSC, _PICOSC
    else
       MOVE?CB   4, _PICOSC
    endif
endasm
RETURN

END
I hope it worked this time, dunno what went wrong the first time.