Como bien te han indicado, hay que tener cuidado con lo que es memoria para registros de proposito general(como en tu caso) y la memoria de registros especiales. En la datasheet del 16F87XA vas a poder ver que en dicho PIC, debés comenzar mínimamente por la posición 0x20. Las posiciones 0x10,0x11,0x12 y 0x13 que estas usando, estan asociadas a modulos del PIC(timers,etc..) y por lo tanto, puede que se modifiquen automaticamente.
O bien, podes usar las posiciones 0x10,0x11,0x12 y 0x13 si cambias el programa a un PIC 16F84A(que debe ser en el que supongo se ha basado el profesor) ya que en dicho PIC, a partir de la posicion 0x0C es posible utilizarlas para propositos generales.
dato_A equ 0x20
dato_B equ 0x21
dato_C equ 0x22
resultado equ 0x23
INICIO
movf dato_A,W
addwf dato_B,W
subwf dato_C,W
movwf resultado
goto INICIO
Saludos!