;
;
;          "datclock.txt" 
;     
;      
;     :    
;
;---------------------------------------------------------------
;
;      
;
 glokdir:
      ldwi acch,accl,glokdir_fsb
		 movw fsbl,accl
    ldwi acch,accl,glokdir
   movw retterl,accl
  prints str6,frame0 ;   frame0+refram   str6
                  ; '  : '
;------------------------------------------------------------------
    ldwi zh,zl,askm0
    ldwi yh,yl,minuts
    ld accl,y
    rcall ds_clk
    ldd accl,y+2
    rcall ds_clk
   lo_sbuf sp_buf0 ;     
    ldwi zh,zl,askm0
    ld accl,z+
    sts bufos_E,accl
    ld accl,z+
    sts bufos_D,accl
    ld accl,z+
    sts bufos_7,accl
    ld accl,z+
    sts bufos_6,accl ;       
  open_cor:
    rcall pzet1  ;    frame1+refram,    kursadr
        ;          !!!
        ;      :
        ; kursadr-(frameN+refram)
    sbr accl,(1<<7) ;     "?"
    rcall wr_wus ; /  / 
    rcall wait_wrt ; =  0   
    ldi accl,0b00001111
    rcall wr_wus
    rcall wait_wrt ;   =    
                   ;  
    printb frame1
    cbr vars,(1<<warom) ;      << & >>
    sbr vars,(1<<fmnk) ; ""   
    rjmp step4 ;       (tolloff)
             ;        ""
;---------------------------------------------------------------
;
;                     
;                   
;
;        
 re_newtime:
     ldwi yh,yl,askm0 ;    
     clr cntxl
     ld accl,y+
     lds acch,bufos_e
     cpse acch,accl
     inc cntxl
     ld accl,y+
     lds acch,bufos_d
     cpse acch,accl
     inc cntxl
     ld accl,y+
     lds acch,bufos_7
     cpse acch,accl
     inc cntxl
     ld accl,y+
     lds acch,bufos_6
     cpse acch,accl
     inc cntxl
     tst cntxl
      brbs SREG_Z,re_baksp ;     
                       ;     (re_baksp)
  ;      
   lbaks:
     lds accl,bufos_e
     lds acch,bufos_d
     andi accl,0x0F
     andi acch,0x0F
     swap acch
     or accl,acch
     rcall decobin
     sts askm0,accl ;      askm0
     lds accl,bufos_7
     lds acch,bufos_6
     andi accl,0x0F
     andi acch,0x0F
     swap acch
     or accl,acch
     rcall decobin
     sts askm1,accl ;      askm1
  ;----------------------------------------------------------------
       cli ;  
       in accl,TCCR0
       mov acch,accl ;    acch
			 andi accl,0xF8
			 out TCCR0,accl ;  /0
       clr accl 
			 out TCNT0,accl ;  TCNT0
       in accl,TIFR
			 cbr accl,(1<<OCF0)
			 out TIFR,accl ;      OCR0
       ldwi yh,yl,lot0_2 
			 ld accl,y+
			 st y+,accl ;  cnt0_2  lot0_2
       ld accl,y+
			 st y+,accl ;  cnt0_3  lot0_3
       ld accl,y
			 sbr accl,(1<<gclkrl)
			 st y,accl ;     
              ;   (gclkrl=1)
       ldi accl,1
			 sts second,accl ;   second 1(+1)
       lds accl,askm0
			 sts minuts,accl ;   minuts askm0
       lds accl,askm1
			 sts hours,accl ;   hours askm1
       in accl,SFIOR
			 sbr accl,(1<<PSR10)
			 out SFIOR,accl ;   /0
       out TCCR0,acch ;  /0
      sei ;  
  ;----------------------------------------------------------------
           ;     
       ;  1      
      ;      
            ;     
;---------------------------------------------------------------------
;
;                     
;                  
;
;        
 re_baksp:
        prints str1,frame0 ;      
  re_baksp2:
       sbr vars,(1<<warom) ;       << & >>
      movw zl,fsbl
      adiw zl,left_bp
      lsl zl
       rol zh ;    
        lpm butl,z+
         lpm buth,z ;     buth:butl
       movw zl,butl ;    Z
    ijmp ;   jmp @Z ( = jmp left_bph:left_bpl)
;------------------------------------------------------------------
 ds_clk:
   rcall binodec
   mov acch,accl
   andi accl,0x0F
   ori accl,0x30
   swap acch
   andi acch,0x0F
   ori acch,0x30
   st z+,accl
   st z+,acch
  ret
;-------------------------------------------------------------------