Warum verwendest Du nicht die von Microchip zur Verfügung gestellte .inc-Datei für die Registeradressen, Config-Bits usw.?
#include <p12F683.inc>
Die eigene Definition ist unnötig und fehleranfällig.
;----- special functioin register files (data memory map)-------------------
; bank 0
...
cmcon equ h'0019' ; <--
adresh equ h'001e'
adcon0 equ h'0019' ; <--
Die Adresse von ADCON0 ist 0x1F, nicht 0x19. Im Moment erfolgt bei der Verwendung von "adcon0" also ein Zugriff auf CMCON0.
Viele Grüße
Bernd