Your code sample is insufficient so I can't tell you all about:
movlw HIGH RevTable ; get MS byte of table
This is only a part of computed table jump. Your asm code must look something like:
movlw HIGH RevTable
movwf PCLATH ;set high byte RevTable address
movf TableIndex, w
movwf PCL ;set low byte RevTable address this is computed table jump
;The return value is in wreg so one from RevTable table depend of TableIndex value
In c something like:
char RevTable[] = {'0','6','4','5','2','1','3','0'};
char TableIndex = 1;
char ValueFromTable;
ValueFromTable = RevTable[TableIndex] ;
The second part of code:
incfsz ADC,w ; if ADC is 0xFF we’re at full speed - skip timer add
Here is missing the second asm instruction which is executed or not depend of ADC value, something like:
if (ADC != 255) ...