Para la simulación en Proteus, lo solucioné cambiando la línea de declaración de variables:
CUENTA EQU oxoc
por:
CBLOCK 0x0c
CUENTA
ENDC
Imagino que es porque las librerías necesitan espacio para sus vartiables, aunque no sé si esa sea la verdadera razón.
Lo importante es que así sí funciona, lo mejoré un poco y aquí está:
; ConsultaUsoLibrería
list P=16F84A
include <P16F84A.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
CBLOCK 0x0c
CUENTA
ENDC
org 0
Inicio:
bsf STATUS,RP0
clrf TRISA
clrf TRISB
bcf STATUS,RP0
call LCD_Inicializa
clrf CUENTA
Principal:
call LCD_Linea1
movlw Mensaje0
call LCD_Mensaje
call Retardo_1s
call LCD_Linea2
call LCD_DosEspaciosBlancos
call LCD_DosEspaciosBlancos
call LCD_DosEspaciosBlancos
movf CUENTA,W
call BIN_a_BCD
movf BCD_Centenas,W
call LCD_Byte
movf BCD_Decenas,W
call LCD_Byte
movf BCD_Unidades,W
call LCD_Byte
incf CUENTA,F
call LCD_UnEspacioBlanco
goto Principal
Mensajes
addwf PCL,F
Mensaje0
DT " Uso BIBLIOTECAS", 0x00
INCLUDE <LCD_4BIT.INC>
INCLUDE <RETARDOS.INC>
INCLUDE <LCD_MENS.INC>
INCLUDE <BIN_BCD.INC>
END