#asm
	      .EQU PORTC=0x15
	      IMPORT    bCekej100
	      
            MOV R18, R16      ;zaloha char b
            CLC               ; clear carry          
            ROR R18           ; rotace 
            CLC
            ROR R18
            CLC
            ROR R18
            CLC
            ROR R18
            CLC
            OUT PORTC,R18    ; horni 4 bity na vystup
            
            ANDI R20,$ff      ;data nebo isntrukce
            BRNE NAV
            
            ORI R21,$30
            OUT PORTC,R21            
      NAV:  CLZ    
            
            ORI R21,$10
            OUT PORTC,R21    ;impulz na EN
            NOP
            NOP
            ANDI R21,$ef
            OUT PORTC,R21            
            
            LDI R19,$02
            STS bCekej100,R19
            
      NAV2: LDS R19,bCekej100
            ANDI R19,$ff
            BRNE NAV2
 
            MOV R17,R16
            ANDI R17,$0f     ;dolni 4 bity

            ANDI R20,$ff      ;data nebo instrukce
            BRNE NAV1
            ORI R21,$30
            OUT PORTC,R21            
      NAV1: CLZ
      
            OUT PORTC,R17
            ORI R21,$10
            OUT PORTC,R21    ;impulz na EN
            NOP
            NOP
            ANDI R21,$ef
            OUT PORTC,R21

            LDI R19,$02        ;do bcekej100 si ulozim 2
            STS bCekej100,R19
            
      NAV3: LDS R19,bCekej100 ;presunu do R19
            ANDI R19,$ff     ;testuju na nulovost, vysledek v Z
            BRNE NAV3         ;dokud neni Z=0, skacu na NAV3

            
                        	
	      #endasm



/*--------stejný program napsaný v C-------------------

		byte bb = b & 0xf0;
		bb >>= 4;
		SET_DATA(bb);
		if (d) PORTC |= 0x01;
		PULS_ENABLE;
		CEKEJ100(1);
		bb = b & 0x0f;
		SET_DATA(bb);
		if (d) PORTC |= 0x01;
		PULS_ENABLE;
		CEKEJ100(1);
*/
