;
;
;          "boduns.txt" 
;     
;      
;     :    
;
;---------------------------------------------------------------
;
;      1
;
 ubodun1:
    mov left_bp+1,#high(bodun_1)
    mov left_bp,#low(bodun_1)
    mov right_bp+1,#high(bodun_2)
    mov right_bp,#low(bodun_2)
    mov main_bp+1,#high(ubodun1)
    mov main_bp,#low(ubodun1)
    mov stabl+1,#high(subrus) ; 
    mov stabl,#low(subrus) ;
    mov target+1,#high(re_nbud) ;     
    mov target,#low(re_nbud) ; 
    mov retter+1,#high(re_bakbud) ;      
    mov retter,#low(re_bakbud) ;   
    mov prefekt,#(0xC<<4) ;   ...(   )
    ptints str14,frame0 ;   frame0+refram   str14
                  ; '  1 = '
      mov nbud,#1
      mov r5,bodun1
      mov a,bodun1+1
      ajmp pobud
;---------------------------------------------------------------
;
;      2
;
 ubodun2:
    mov left_bp+1,#high(bodun_2)
    mov left_bp,#low(bodun_2)
    mov right_bp+1,#high(glokinp)
    mov right_bp,#low(glokinp)
    mov main_bp+1,#high(ubodun2)
    mov main_bp,#low(ubodun2)
    mov stabl+1,#high(subrus) ; 
    mov stabl,#low(subrus) ;
    mov target+1,#high(re_nbud) ;     
    mov target,#low(re_nbud) ; 
    mov retter+1,#high(re_bakbud) ;      
    mov retter,#low(re_bakbud) ;   
    mov prefekt,#(0xC<<4) ;   ...(   )
    ptints str15,frame0 ;   frame0+refram   str15
                  ; '  2 = '                  
      mov nbud,#2
      mov r5,bodun2
      mov a,bodun2+1
 pobud:
    lcall binodec
    mov r6,a
    swap a
    anl a,#0x0F
    orl a,#0x30
    xch a,r6 ;        ubodun!!!
    anl a,#0x0F
    orl a,#0x30
    xch a,r5 ;        ubodun!!!
    lcall binodec
    mov r4,a
    swap a
    anl a,#0x0F
    orl a,#0x30
    xch a,r4 ;        ubodun!!!
    anl a,#0x0F
    orl a,#0x30
    mov r3,a ;        ubodun!!!
   lo_sbuf sp_buf3 ;     
    mov bufos_5,r6
    mov bufos_6,r5
    mov bufos_8,r4
    mov bufos_9,r3 ;       
    mov bufos_f,#0x30
 ;     - ""   1
 ;     
 ;      ""   0 ( "?")
 ;     - "     
 ;     "
 ;      
 ;     ""     
    mov a,nbud
    inc a
    movc a,@a+pc ;   1-2-3-4    0-1-2-3
    sjmp out_uri0 ; 0+2
     .db 0b00000001
     .db 0b00000010
     .db 0b00000100
     .db 0b00001000
  out_uri0:
    anl a,bodunf
    jz out_uri1
    mov bufos_1,#0xED ;  ""  
  out_uri1:
 ;       0  1  
 ;   
    mov a,nbud
    inc a
    movc a,@a+pc ;   1-2-3-4    0-1-2-3
    sjmp out_uris ; 0+2
     .db 0b00010000
     .db 0b00100000
     .db 0b01000000
     .db 0b10000000
   out_uris:
        anl a,bodunf
        jz open_cor1 ; bufos_f=0x30
        inc bufos_f ; bufos_f=0x31
  open_cor1:
      lcall pks1  ;    frame1+refram,    kursadr
        ;          !!!
        ;      :
        ; kursadr-(frameN+refram)
      setb ACC.7 ;     "?"
      lcall wrslus ; /  / 
      lcall wait_wrt ; =  0   
      mov a,#0b00001111
      lcall wrslus
      lcall wait_wrt ;   =    
                   ;  
    printb frame1
    clr warom ;      << & >>
    ljmp step4 ;       (tolloff)
             ;        ""
;---------------------------------------------------------------
;
;                     
;                   
;                 
;
;        
 re_nbud:
      mov a,bufos_5
      anl a,#0x0F
      swap a
      mov r6,a
      mov a,bufos_6
      anl a,#0x0F
      orl a,r6
      lcall decobin
      mov bufos_1,a ;      bufos_1
      mov a,bufos_8
      anl a,#0x0F
      swap a
      mov r6,a
      mov a,bufos_9
      anl a,#0x0F
      orl a,r6
      lcall decobin
      mov bufos_0,a ;      bufos_0
  ;--------------------------------------------------------
       mov a,nbud
       cjne a,#1,locat0
       ajmp lodreg1
    locat0:
       cjne a,#2,locat1
       ajmp lodreg2
    locat1:
       nop ;     (   2 )
  ;--------------------------------------------------------
 lodreg1:
       mov bodun1,bufos_0 ;   
       mov bodun1+1,bufos_1 ;   
       mov a,bufos_f ;    (0x30  0x31)
       rrc a
       mov outlev1,c ;     outlev1
       setb enbud1 ;   " 1 "
  ljmp re_baksp ;      
            ;     
  ;--------------------------------------------------------
 lodreg2:
       mov bodun2,bufos_0 ;   
       mov bodun2+1,bufos_1 ;   
       mov a,bufos_f ;    (0x30  0x31)
       rrc a
       mov outlev2,c ;     outlev1
       setb enbud2 ;   " 1 "
  ljmp re_baksp ;      
            ;     
;
;---------------------------------------------------------------------
;
;                     
;                  
;              
 re_bakbud:
     mov a,nbud
     inc a
     movc a,@a+pc ;   1-2-3-4    0-1-2-3
     sjmp re_bak ; 0+2
     .db 0b11111110
     .db 0b11111101
     .db 0b11111011
     .db 0b11110111
   re_bak:
        anl bodunf,a ;    enbud
  ljmp re_baksp ;      
            ;     
;---------------------------------------------------------------------
;---------------------------------------------------------------------
 ;      
 outru:
     jnb bodsf,workout ;     bodsf
     ljmp step4 ;     
  workout:
      mov a,P1
      orl a,mason1
      cpl ACC.2
      mov P1,a ;       
    ljmp step4 ;     
;---------------------------------------------------------------------
 ;         ""
            ; (   )
 outres:
      jbc bodsf,workres ;      
      ljmp step4 ;     
  workres:
      mov a,#(frame1 OR 0x80) ;     40
      lcall wrslus
      lcall wait_wrt
      mov a,#0x20 ;   ""
      lcall wrdat
      lcall wait_wrt
      mov a,P1
      orl a,mason1
      setb ACC.2 ;      
      mov P1,a ; //      
    ljmp step4 ;     
;---------------------------------------------------------------------