Y ya que estoy te hago notar dos detalles:
W_Temp EQU 0x29 ; Guardamos registro W durante interrupcion
St_Temp EQU 0x30 ; Guardamos registro STATUS durante interrupcion\
deberian estar dentro del intervalo de posiciones 0x70 a 0x7F. Esto es porque sólo dichas posiciones son accesibles(están compartidas) desde los 4 bancos de RAM de este uC, lo que evita potenciales errores de que al momento de ingresar al vector de interrupcion, el uC se encuentre en un banco distinto del 0, lo que produciria que se guarde los valores de W y STATUS en posiciones de memoria incorrectas, impidiendo luego antes de salir del vector de interrupción, poder restaurarlas correctamente.
Y por último, en hexadecimal, luego del 0x29 viene el 0x2A, 0x2B, 0x02C, 0x2D, 0x2E y 0x2F antes del 0x30.
Y ya con esto no te molesto más

Me alegro que haya sido de ayuda.
Saludos.