;
;   "hass.txt"    
;
;		  1 
;
;
; Xh:Xl =     
; tmp0 =  
; tmp1 =   XOR
; tmp2 =    
;
; has_mask = 2-4-8   XOR
;
; hass_dat: .byte 9
;  ,
;     XOR
;
;
;
;
;
;
;
;
;--------------------------------------------
;      XOR
;
;  hsaa_msst:
;    ldi tmp0,has_mask
;    ldiw x,hass_dat
;    st x,tmp0
;   ret
;
;--------------------------------------------
;   
;
	hass_zt:
;	  ldiw x,(hass_dat+1)
    adiw xl,1
		ser tmp0;
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt00
		cbr tmp0,1<<0
	 pt00:
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt01
		cbr tmp0,1<<1
	 pt01:
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt02
		cbr tmp0,1<<2
	 pt02:
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt03
		cbr tmp0,1<<3
	 pt03:
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt04
		cbr tmp0,1<<4
	 pt04:
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt05
		cbr tmp0,1<<5
	 pt05:
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt06
		cbr tmp0,1<<6
	 pt06:
		ld tmp1,x+
		tst tmp1
		brbc SREG_Z,pt07
		cbr tmp0,1<<7
	 pt07:
		tst tmp0
		brbc SREG_Z,pt08
;		ldiw x,(hass_dat+1)
    movw xl,Bl
    adiw xl,1
		ser tmp0;
		ldi tmp1,8
	pt10:
	  st x+,tmp0
		dec tmp1
		 brne pt10
	;       XOR
	;     
;
;--------------------------------------------
;     
;   
	pt08:
;    ldiw x,hass_dat
    movw xl,Bl
    ld tmp0,x+ ;    tmp0
    ld tmp1,x ;     tmp1
    mov tmp2,tmp1 ;   tmp2
     and tmp2,tmp0 ;   
     sbrs tmp1,0 ;  (hass_dat+1).0=1, 
     clr tmp0 ;  (hass_dat+1).0=0     0
     clr tmp1 ;     -  
              ;    = 0
     eor tmp2,tmp0 ;  
      brbs SREG_Z,pt09
		ldi tmp1,3 ;     -  
              ;    = 1
	pt09:
		ror tmp1 ;      
    rol r8
;		ldiw x,(hass_dat+8)
    movw xl,Bl
    adiw xl,8
		ldi tmp0,8
		ror tmp1
		in tmp3,SREG
	pt11:
	   ror tmp3
		ld tmp1,x
		ror tmp1
		in tmp3,SREG
		st x,tmp1
		sbiw xl,1
		dec tmp0
		 brne pt11
	 ret