;======btfs=======================================
list      p=16F628
#include  <p16F84.inc>
__CONFIG   03F30H
;__config _INTRC_OSC_CLKOUT &_DATA_CP_OFF &_CP_OFF &_BODEN_ON &_MCLRE_OFF &_PWRTE_ON &_WDT_OFF &_LVP_OFF
;=============================================
IndF    equ     00h
Timer0  equ     01h
OptionR equ     81h
PC      equ     02h
Status  equ     03h
FSR     equ     04h
PortA   equ     05h
TrisA   equ     85h
PortB   equ     06h
TrisB   equ     86h
IntCon  equ     0Bh
Flag    equ     30h     
Flan    equ     79h
Temp    equ     32h
Temp1   equ     33h
LED4    equ     34h
LED5    equ     35h
LED3    equ     36h 
CMCON   equ     1Fh 
PCON    equ     8Eh
INC     equ     76h
INS     equ     77h
Flas    equ     78h
;=============================================
RS      equ     0
E       equ     1
Pit     equ     2
C      equ     0
Z      equ     2
;=============================================
;=============================================
        org     0h
        goto    Start
;=============================================
Start
        clrf      PortA
        movlw     0x07
        movwf     CMCON
        bcf       Status,6
        bsf        Status,5
        movlw      b'10000001' ; Prescaler -> Timer0,
        movwf      OptionR     ; 1:256, rising edge
        movlw      b'00000000'
        movwf      TrisA
        movlw      b'11000000'
        movwf      TrisB
        bcf        PCON,3     
        bcf        Status,5
        clrf       Flag
        clrf       Flan
        clrf       PortA
        clrf       PortB
        movlw      .5
        movwf       INC
        movwf       INS
        movwf       LED4
        movwf       LED5

;+++++++++++++++++++++++++++++++++++++++++
Ra
;       call    tay1
;       call    tay1
       call    tay1
            btfss     LED5,4
            goto      Po
            btfss     LED5,5
            goto       Po
            btfss     LED5,6
            goto       Po
       call    tay1
Po;       btfsc   PortB,6
;       call    tayk
;       btfsc   PortB,6
;       goto    Nsbr
;       clrf    PortB
;       clrf    PortA
Nsbr     
;++++++++++++++++++++++++++++++++++++++++++++
;         Rem     1   0
;                 0   0
;                 0   1
;              ......
;                 1   1
;=============================================
Ra2          btfsc      PortB,6
            goto       C1
            btfsc      Flag,0
            goto       P10
            goto       P00
C1
            btfsc      Flag,0
            goto       P11
            goto       P01
P01
            bsf      PortA,4    
;            bcf        PortB,6
            bcf        PortB,7  
            btfsc     Flas,0
            goto      Ras
            incf      INS,1
            incf      INC,1
            movfw     INS
            movwf     LED5
            movfw     INC
            movwf     LED4
Ras         
        bcf       Status,6
        bsf        Status,5
        nop
            bcf       TrisB,0
            bcf       TrisB,1
            bcf       TrisB,2            
            bcf       TrisB,3
            bcf       TrisB,4
            bcf       TrisB,5
            btfsc     INC,0
            bsf       TrisB,0
            btfsc     INC,1
            bsf       TrisB,1
            btfsc     INC,2
            bsf       TrisB,2
            btfsc     INC,3
            bsf       TrisB,3
            btfsc     INC,4
            bsf       TrisB,4
            btfsc     INC,5
            bsf       TrisB,5
;        bcf        Status,5

            bcf       PortA,4
            bcf       TrisA,0
            bcf       TrisA,1
            bcf       TrisA,2            
            bcf       TrisA,3
            bcf       TrisA,6
            bcf       TrisA,7
            btfsc     INS,0
            bsf       TrisA,0
            btfsc     INS,1
            bsf       TrisA,1
            btfsc     INS,2
            bsf       TrisA,2
            btfsc     INS,3
            bsf       TrisA,3
            btfsc     INS,4
            bsf       TrisA,6
            btfsc     INS,5
            bsf       TrisA,7
        bcf        Status,5          

            movlw      .63
            subwf      LED5;PortA
            btfss      Status,Z
            goto       Re1
            movlw      .62
            movwf      INS;PortA
            bsf        Flas,0
Re1            movlw      .63;
            subwf     LED4;
            btfss      Status,Z
            goto       Re   
            movlw      .62;
            movwf      INC;
            bsf        Flas,0
            goto       Re

Rei            movfw     PortB
            movwf     LED3  
            nop
            nop
            btfsc     INC,0
            bcf       PortB,0
            btfsc     INC,1
            bcf       PortB,1
            btfsc     INC,2
            bcf       PortB,2
            btfsc     INC,3
            bcf       PortB,3
            btfsc     INC,4
            bcf       PortB,4
            btfsc     INC,5
            bcf       PortB,5

           movfw     PortA
            movwf     LED3  
            nop
            nop
            btfsc     INS,0
            bcf       PortA,0
            btfsc     INS,1
            bcf       PortA,1
            btfsc     INS,2
            bcf       PortA,2
            btfsc     INS,3
            bcf       PortA,3
            btfsc     INS,4
            bcf       PortA,6
            btfsc     INS,5
            bcf       PortA,7

P10
            incf      Flag,1
            clrf      Flas
            goto       Re
P11
            bsf        PortA,4
;            bcf        PortB,6
            bcf        PortB,7  
            btfsc     Flas,1
            goto      Rac
            decf      INC,1
            decf      INS,1
            movfw     INC 
           movwf     LED4;
            movfw     INS
            movwf     LED5
Rac        
        bcf       Status,6
        bsf        Status,5
        nop
            bcf       TrisB,0
            bcf       TrisB,1
            bcf       TrisB,2            
            bcf       TrisB,3
            bcf       TrisB,4
            bcf       TrisB,5
            btfsc     INC,0
            bsf       TrisB,0
            btfsc     INC,1
            bsf       TrisB,1
            btfsc     INC,2
            bsf       TrisB,2
            btfsc     INC,3
            bsf       TrisB,3
            btfsc     INC,4
            bsf       TrisB,4
            btfsc     INC,5
            bsf       TrisB,5
;        bcf        Status,5

            bcf       TrisA,0
            bcf       TrisA,1
            bcf       TrisA,2            
            bcf       TrisA,3
            bcf       TrisA,6
            bcf       TrisA,7
            btfsc     INS,0
            bsf       TrisA,0
            btfsc     INS,1
            bsf       TrisA,1
            btfsc     INS,2
            bsf       TrisA,2
            btfsc     INS,3
            bsf       TrisA,3
            btfsc     INS,4
            bsf       TrisA,6
            btfsc     INS,5
            bsf       TrisA,7
          bcf        Status,5          

            bcf       PortA,4  
            movfw     PortB
            movwf     LED3  
            nop
            nop
             nop
            btfsc     INC,0
            bcf       PortB,0
            btfsc     INC,1
            bcf       PortB,1
            btfsc     INC,2
            bcf       PortB,2
            btfsc     INC,3
            bcf       PortB,3
            btfsc     INC,4
            bcf       PortB,4
            btfsc     INC,5
            bcf       PortB,5

            movfw     PortA
            movwf     LED3  
            nop
            nop
             btfsc     INS,0
            bcf       PortA,0
            btfsc     INS,1
            bcf       PortA,1
            btfsc     INS,2
            bcf       PortA,2
            btfsc     INS,3
            bcf       PortA,3
            btfsc     INS,4
            bcf       PortA,6
            btfsc     INS,5
            bcf       PortA,7
            
;       
            movlw      .0
            subwf      LED5;PortA
            btfss      Status,Z
            goto       Re2
            movlw      .1
            movwf      INS;PortA
            bsf        Flas,1
Re2            movlw      .0
            subwf      LED4;
            btfss      Status,Z
            goto       Re
            movlw      .1
            movwf      INC;
            bsf        Flas,1
            goto       Re
P00
            incf      Flag,1
            clrf      Flas
            goto       Re
Re          
            btfsc      PortB,7
            goto       C2
            btfsc      Flan,0
            goto       D10
            goto       D00
C2
            btfsc      Flan,0
            goto       D11
            goto       D01
D01
            bsf        PortA,4  
;            bcf        PortB,6
            bcf        PortB,6  
            incf      INC,1
            movfw     INC
            movwf     LED4
            decf      INS,1
            movfw     INS 
           movwf     LED5;PortA


        bcf       Status,6
        bsf        Status,5
        nop
            bcf       TrisB,0
            bcf       TrisB,1
            bcf       TrisB,2            
            bcf       TrisB,3
            bcf       TrisB,4
            bcf       TrisB,5
            btfsc     INC,0
            bsf       TrisB,0
            btfsc     INC,1
            bsf       TrisB,1
            btfsc     INC,2
            bsf       TrisB,2
            btfsc     INC,3
            bsf       TrisB,3
            btfsc     INC,4
            bsf       TrisB,4
            btfsc     INC,5
            bsf       TrisB,5
;        bcf        Status,5

            bcf       PortA,4
            bcf       TrisA,0
            bcf       TrisA,1
            bcf       TrisA,2            
            bcf       TrisA,3
            bcf       TrisA,6
            bcf       TrisA,7
            btfsc     INS,0
            bsf       TrisA,0
            btfsc     INS,1
            bsf       TrisA,1
            btfsc     INS,2
            bsf       TrisA,2
            btfsc     INS,3
            bsf       TrisA,3
            btfsc     INS,4
            bsf       TrisA,6
            btfsc     INS,5
            bsf       TrisA,7
        bcf        Status,5          

           movfw     PortB
            movwf     LED3  
            nop
            nop
             nop
            btfsc     INC,0
            bcf       PortB,0
            btfsc     INC,1
            bcf       PortB,1
            btfsc     INC,2
            bcf       PortB,2
            btfsc     INC,3
            bcf       PortB,3
            btfsc     INC,4
            bcf       PortB,4
            btfsc     INC,5
            bcf       PortB,5

           movfw     PortA
            movwf     LED3  
            nop
            nop
             btfsc     INS,0
            bcf       PortA,0
            btfsc     INS,1
            bcf       PortA,1
            btfsc     INS,2
            bcf       PortA,2
            btfsc     INS,3
            bcf       PortA,3
            btfsc     INS,4
            bcf       PortA,6
            btfsc     INS,5
            bcf       PortA,7

            movlw      .0
            subwf      LED5;PortA
            btfss      Status,Z
            goto       Ra3
            movlw      .1
            movwf      INS
Ra3            movlw      .63
            subwf      LED4;PortB
            btfss      Status,Z
            goto       Ra
            movlw      .62
            movwf      INC
            goto       Ra
D10
            incf      Flan,1
            goto       Ra
D11
            bsf        PortA,4
;            bcf        PortB,6
            bcf        PortB,6  
            decf      INC,1
            movfw     INC
            movwf     LED4
            incf      INS,1
            movfw     INS 
           movwf     LED5;PortB


        bcf       Status,6
        bsf        Status,5
        nop
            bcf       TrisB,0
            bcf       TrisB,1
            bcf       TrisB,2            
            bcf       TrisB,3
            bcf       TrisB,4
            bcf       TrisB,5
            btfsc     INC,0
            bsf       TrisB,0
            btfsc     INC,1
            bsf       TrisB,1
            btfsc     INC,2
            bsf       TrisB,2
            btfsc     INC,3
            bsf       TrisB,3
            btfsc     INC,4
            bsf       TrisB,4
            btfsc     INC,5
            bsf       TrisB,5
;        bcf        Status,5

            bcf       TrisA,0
            bcf       TrisA,1
            bcf       TrisA,2            
            bcf       TrisA,3
            bcf       TrisA,6
            bcf       TrisA,7
            btfsc     INS,0
            bsf       TrisA,0
            btfsc     INS,1
            bsf       TrisA,1
            btfsc     INS,2
            bsf       TrisA,2
            btfsc     INS,3
            bsf       TrisA,3
            btfsc     INS,4
            bsf       TrisA,6
            btfsc     INS,5
            bsf       TrisA,7
        bcf        Status,5          

           bcf       PortA,4
           movfw     PortB
            movwf     LED3  
            nop
            nop
             nop
            btfsc     INC,0
            bcf       PortB,0
            btfsc     INC,1
            bcf       PortB,1
            btfsc     INC,2
            bcf       PortB,2
            btfsc     INC,3
            bcf       PortB,3
            btfsc     INC,4
            bcf       PortB,4
            btfsc     INC,5
            bcf       PortB,5

           movfw     PortA
            movwf     LED3  
            nop
            nop
             btfsc     INS,0
            bcf       PortA,0
            btfsc     INS,1
            bcf       PortA,1
            btfsc     INS,2
            bcf       PortA,2
            btfsc     INS,3
            bcf       PortA,3
            btfsc     INS,4
            bcf       PortA,6
            btfsc     INS,5
            bcf       PortA,7


            movlw      .63 
            subwf      LED5;PortA
            btfss      Status,Z
            goto      Ra4
            movlw      .62
            movwf     INS 
Ra4            movlw      .0
            subwf      LED4;PortB
            btfss      Status,Z
            goto       Ra
            movlw      .1
            movwf      INC
            goto       Ra
D00
            incf      Flan,1
            goto       Ra
                  
;=============================================
tay1
        movlw   .255
        movwf   Temp
Pausm
        decfsz  Temp,f
        goto    Pausm
        return
;=============================================
tay
           movlw       .15
           movwf       Temp1
D100        movlw       .250
           movwf       Temp
D20        decfsz      Temp,F
           goto        D20
           decfsz      Temp1,F
           goto        D100
           return
; ========================================
;--------------------------------------------------------------------------------------------
            end                     ; Конец программы.
.
