init_0802:
	rcall pause
	cbi _portb,en
	cbi _portb,rw
	cbi _portb,rs
	rcall p50us
	
	ldi r17,$02
	rcall d_out4
	
	ldi r17,$28
	rcall d_out
	sbrs r0,_data7
	rjmp init_0802

	ldi r17,$28
	rcall d_out
	
	ldi r17,$0c
	rcall d_out
	
	ldi r17,$01
	rcall d_out
	rcall pause
	sbi _portb,rs
	ret

d_out:

	rcall p50us
	cbi _portb,_data7
	sbrc r17,7
	sbi _portb,_data7
	
	cbi _portb,_data6
	sbrc r17,6
	sbi _portb,_data6
	
	cbi _portb,_data5
	sbrc r17,5
	sbi _portb,_data5

	cbi _portb,_data4
	sbrc r17,4
	sbi _portb,_data4
	
	sbi _portb,en	
	rcall p50us
	cbi _portb,en

d_out4:	

	rcall p50us

	cbi _portb,_data7
	sbrc r17,3
	sbi _portb,_data7
	
	cbi _portb,_data6
	sbrc r17,2
	sbi _portb,_data6
	
	cbi _portb,_data5
	sbrc r17,1
	sbi _portb,_data5

	cbi _portb,_data4
	sbrc r17,0
	sbi _portb,_data4

	sbi _portb,en
	rcall p50us
	cbi _portb,en
	
	sbic _portb,rs
	rjmp d_out_ex
	sbi _portb,rw
	sbi _portb,_data7
	cbi _ddrb,_data7
	sbi _portb,en
	nop
	nop
	nop
	in r0,_pinb
	sbi _ddrb,_data7
	cbi _portb,en
	cbi _portb,rw
	
d_out_ex:
	rcall p50us
	ret	