;
;         <tsgn_2.txt>  ;    
;       1-256
;      
;  1  CCP...   629  
; ...   " "
; /    /0
;     (. irq_tsgn.txt)
;
;------------------------------------------------------------------------------
; OSCCAL RESTORE (not required if internal OSC is not used)
;------------------------------------------------------------------------------
;
START
        errorlevel -302
        BSF     STATUS,RP0    ; set file register bank to 1 
        CALL    0x3FF         ; retrieve factory calibration value
        MOVWF   OSCCAL        ; update register with factory cal value 
        BCF     STATUS,RP0    ; set file register bank to 0
;
;------------------------------------------------------------------------------
; PLACE USER PROGRAM HERE
;------------------------------------------------------------------------------
;
;      
;
hard_init
       MOVLW 07h ; Set GP<2:0> to 
       MOVWF CMCON ; digital IO
       movlw 0xff
       movwf GPIO
;   ""  (OPTION_REG./GPPU = 1)
       bank_set 1
       movlw b'00001000'
       movwf TRISIO
       bank_set 0
       movlw 0xff
       movwf GPIO
       incf PCLATH,f ;   00100:001FF
;---------------------------------------------------
;
;  0    2 (minimum)    cpu
; 
;
     clrwdt
     movlw frize
     movwf TMR0
     movlw (1<<GIE | 1<<T0IE)
     movwf INTCON
     movlw genom
     movwf cnt0 ;   
     bank_set 1
      bcf OPTION_REG,T0CS ;  /0
     bank_set 0
;
;-------------------------------------------------------
stop
   goto stop ; -    
;--------------------------------------------------
;
;    
gentos
     bcf INTCON,T0IF
     movf cnt0,w
     call  tabgen
     movwf GPIO
     btfsc flags,zero
     goto rewrit
    decfsz cnt0,f
     goto endir
     bsf flags,zero
endir
        MOVF    STATUS_TEMP,w ; retrieve copy of STATUS register
        MOVWF   STATUS        ; restore pre-isr STATUS register contents
        SWAPF   W_TEMP,f
        SWAPF   W_TEMP,w      ; restore pre-isr W register contents
        RETFIE                ; return from interrupt
rewrit
     bcf flags,zero
     movlw genom
     movwf cnt0 ;   
     goto endir
;--------------------------------------------------
;