

            MOV  R6,#10       ;first 10 pixel bytes to be shifted
            MOV  R0,#117      ;pixel bytes reside in "117"..."127"

Byt_Loop:   MOV  R7,#8        ;8 bits to be shifted
            MOV  A,@R0        ;load pixel byte into A

Pix_Loop:   RLC  A            
            MOV  DATA,C       ;"dropped out" bit gets shifted into the 4094
            SETB CLOCK
            CLR  COCK

            DJNZ R7,Pix_Loop  ;repeat until the whole pixel byte is shifted
                              ;into the 4094
            INC R0

            DJNZ R6,Byt_Loop  ;repeat until the first 10 pixel bytes are
                              ;shifted into the 4094
          
            MOV R7,#4         ;only 4 bits of 11th pixel byte to be shifted
            MOV  A,@R0        ;load 11th pixel byte into A
        
Pix_Loop2:  RLC  A
            MOV  DATA,C       ;"dropped out" bit gets shifted into the 4094
            SETB CLOCK
            CLR  COCK

            DJNZ R7,Pix_Loop2 ;repeat until the 4 bits of 11th pixel byte is
                              ;shifted into the 4094

