;
;
;            intwork_b52m.txt
;       
;        
;      (  
; /   )
;
;  .cseg
;
;------------------------------------------
;
;     
;    
; R2  
; R3   
;   
;
   .org (restt+int_vectors_syze)  ;    
 sys_clock:
    djnz cnts1,endd_tic
     mov cnts1,#sys_clc2 ;   0,01 
     setb sys_tic1
      jnb en_wtm1,endd_tic
    djnz wtm1,endd_tic
    setb wtm1_tic ;    
     ;  wtm1   
     ; ,     en_wtm1
 endd_tic:
   reti
;
;----------------------------------------------
;
;  IRQ 
;
;        bottle  mason_2
;     RI   
;    step_ptr+1:step_ptr
;
 trs_ir:
    jbc TI,step1 ;  TI=0,
		    ;   
		    ;    
    mov tmp_rx,SBUF ;  
    clr RI ; RI=0
    mov a,step_ptr
    push ACC
    mov a,step_ptr+1 ;    step_ptr
    push ACC ;   
   reti ;   
 step1:
    jb eof_txd,sstep1 ;    
                ;   
    acall proc_txd ;   
 sstep1:
   reti ;     TI
;
;------------------------------------------
;
;  /
;       
;  ,   S_RBT (IND_L)
;
 soft_reset:
       clr EA ;  
       mov dptr,#key_proc ;   
			               ;    DPTR
       push DPL
       push DPH ;    
			 mov r2,#((kp_end - kp_ap)+1)
			 mov r0,#0
 wr_rebs:
       mov a,r0
       acall reed_kode
       movx @dptr,a
       inc r0
       inc dptr
       djnz r2,wr_rebs
       sjmp kp_end
 reed_kode:
        inc a
        movc a,@a+pc
        ret
;--------------------------------------------------
;        
;           key_proc = 0xFFF0
 kp_ap:
       mov P1,#0xFF
       mov P3,#0xFF ;   " "
       nop ;
       nop
       ljmp 0x0000 ;     -
 kp_end:
;--------------------------------------------------
;------------------------------------------------------------------------
;
;           /
;         "  " 
;
; kp_end:
;      nop
;      jb P3.S_RBT,kp_end
;      mov r3,#0xFF
;  kp_pt0:
;      mov r2,#0xFF
;  kp_pt1:
;      djnz r2,kp_pt1
;       djnz r3,kp_pt0
;      jb P3.S_RBT,kp_end ;   0
;  kp_pt2:
;     jnb  P3.S_RBT,kp_pt2 ;  
;      mov r3,#0xFF
;  kp_pt3:
;      mov r2,#0xFF
;  kp_pt4:
;      djnz r2,kp_pt4
;       djnz r3,kp_pt3
;      jnb  P3.S_RBT,kp_pt2 ;   1
;------------------------------------------------------------------------

  acall clin_rubbish
    reti ;    key_proc
;--------------------------------------------------
;      (  hot_init)
;
 clin_rubbish:
     clr a
     mov PSW,a
     mov IE,a ; 
     mov IP,a ;   
     mov TCON,a ;  "" 
     mov TMOD,a ;      0
     mov T2CON,a
     mov T2MOD,a
     mov TL0,a
     mov TH0,a
     mov TL1,a
     mov TH1,a
     mov TL2,a
     mov TH2,a
     mov RCAP2L,a
     mov RCAP2H,a
     mov SCON,a
     mov AUXR1,a
     mov step_ptr,#LOW(zero_ri) ;       
     mov step_ptr+1,#HIGH(zero_ri) ; ,   step_ptr+1:step_ptr
 zero_ri:
    ret ;    ret
;--------------------------------------------------
;
;     
;
set_vect_tbl:
  clr EA ;  
  mov a,#0x32
  mov dptr,#redir_INT0 ; redir_INT0 = reti = 0x32
  movx @dptr,a
  mov dptr,#redir_TF0 ; redir_TF0 = reti = 0x32
  movx @dptr,a
  mov dptr,#redir_TexF2 ; redir_TexF2 = reti = 0x32
  movx @dptr,a
  mov dptr,#redir_INT1 ; redir_INT1 = reti = 0x32
  movx @dptr,a
;--------------------------------------------------
;
;           /
;         "  " 
;
;  mov dptr,#redir_INT1 ; redir_INT1 = ljmp soft reset
;  mov a,#0x02 ; ljmp = 0x02
;  movx @dptr,a
;  mov a,#high(soft_reset) ; soft_reset H
;  inc dptr
;  movx @dptr,a
;  mov a,#low(soft_reset) ; soft reset L
;  inc dptr
;  movx @dptr,a
;--------------------------------------------------
  setb EA ;  
 ret
;----------------------------------------------------
;